提问者:小点点

错误:java.lang.IllegalStateException:您需要在此活动中使用theme.AppCompat主题(或后代)


<activity
    android:name="com.luckyxmobile.timers4meplus.activity.WidgetConfigActivity"
    android:theme="@style/Theme.PageIndicator.Dark">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />

        <category android:name="com.jakewharton.android.viewpagerindicator.sample.SAMPLE" />
    </intent-filter>
</activity>


<style name="Theme.PageIndicator.Dark" parent="android:Theme">
    <item name="tpi_tabPadding">12dp</item>
    <item name="tpi_tabRipple">@style/DarkTabRippleStyle</item>
    <item name="tpi_indicatorHeight">3dp</item>
    <item name="tpi_indicatorColor">@color/colorPrimary</item>
    <item name="android:textAppearance">@style/DarkTabTextAppearance</item>
    <item name="android:background">@color/colorAccent</item>
    <item name="tpi_mode">scroll</item>
</style>

上面是主题和样式。当我运行应用程序时,显示这个错误。我想也许应该是“theme.appcompat”而不是“Android:theme”,但不确定!


共1个答案

匿名用户

Error :java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

我想,您需要扩展appcompatactivity

public class WidgetConfigActivity extends AppCompatActivity {
  // ...
}

AppCompatActivity来自appcompat-v7库。主要是,这提供了一个操作栏的后端口。由于在API Level 11中添加了本机操作栏,因此不需要AppCompatActivity。然而,当前版本的appcompat-v7还增加了一个有限的材料设计美学的后端,就动作栏和各种小部件而言。

您可以使用theme.appcompat代替Android:theme