这个问题已经问了很多次了,但我仍然无法解决这个问题。
我正试图在活动中显示报警窗口。它会给我以下错误消息
java.lang.IllegalStateException:您需要在此活动中使用theme.AppCompat主题(或后代
这是我的密码。
public class CartActivity extends AppCompatActivity
btnCheckout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(cbApprove.isChecked()){
AlertDialog alertDialog = new AlertDialog.Builder(getApplicationContext()).create();
alertDialog.setTitle("Thanks");
alertDialog.setMessage("Thanks for participating in ticketing flow. The test ends here for the Beta");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
}
});
alertDialog.show();
}
}
});
<activity
android:name=".ticketing.activities.CartActivity"
android:label="@string/title_activity_cart"
android:theme="@style/AppTheme"
></activity>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
FATAL EXCEPTION: main
Process: com.tixsee.mavs, PID: 15867
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:340)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:309)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:273)
at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:80)
at android.support.v7.app.AlertController.installContent(AlertController.java:214)
at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:256)
at android.app.Dialog.dispatchOnCreate(Dialog.java:463)
at android.app.Dialog.show(Dialog.java:288)
at com.tixsee.mavs.ticketing.activities.CartActivity$1.onClick(CartActivity.java:92)
at android.view.View.performClick(View.java:5156)
at android.view.View$PerformClick.run(View.java:20755)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
我猜错误是由于在代码中使用了AlertDialog造成的。您需要将活动的上下文而不是应用程序上下文传递给alertdialog构建器。使用GetActivity()
而不是使用GetApplicationContext()
获取AlertDialog生成器
中的上下文。像这样:
AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
上面是主题和样式。当我运行应用程序时,显示这个错误。我想也许应该是“theme.appcompat”而不是“Android:theme”,但不确定!
我正试图在删除按钮上使用警报对话框。但是显示对话框时显示异常。当我单击delete时,它崩溃并在.Show上显示exception。 我试图使用theme.AppCompat主题进行此活动,但它仍然崩溃。
我搜索了所有的互联网网站来修复这个错误,但是我做不到。我只想用两个按钮“是”和“否”创建AlertDialog。 这是我的代码: 这就是我的风格: 这些链接都帮不了我: > 您需要在此活动中使用theme.AppCompat主题(或后代) ActionBarCompat:java.lang.IllegalStateException:您需要使用Theme.AppCompat
XML 错误logcat
我有困难运行我的Android应用程序在一个全屏模式下按视频的指示。当它试图运行时,应用程序会随着错误而崩溃。 可能有用的部分主体活动
我在我的应用程序中使用appcompat V22.1.0,并使用工具栏。当我使用时,一切都很好。当我开始实现时,它会产生如下错误: 有人知道怎么修吗?? MainActivity.java