【发布时间】:2019-07-12 09:10:46
【问题描述】:
这里是初学者..
我无法创建警报对话框。它发生在我使用 `alertDialog.show();
这个错误--
java.lang.IllegalStateException: 你需要使用 Theme.AppCompat 此活动的主题(或后代)。
我的代码,
logoImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(getApplicationContext());
builder.setTitle("hello");
builder.setMessage("hello how are you");
AlertDialog alertDialog= builder.create();
alertDialog.show(); //line
}
});
我的日志猫..
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:555)
at android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:518)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:466)
at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:94)
at android.support.v7.app.AlertController.installContent(AlertController.java:232)
at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:279)
at android.app.Dialog.dispatchOnCreate(Dialog.java:394)
at android.app.Dialog.show(Dialog.java:283)
at com.abmm.include_activity$15.onClick(include_activity.java:459)
谢谢你的朋友..
【问题讨论】:
-
@Ashishsingh 我读到这对我没有帮助。我也没有找到任何关于他们在做什么以及为什么做的解释?
-
@Monk 在您调用对话框的活动类中,从 Activity 而不是 AppcompatActivity 扩展。
-
它已经完成了伙伴@Ashishsingh 它的上下文错误。我在全局范围内声明了上下文 Context mycontext=this;然后 AlertDialog.Builder builder = new AlertDialog.Builder(mycontext);感谢您的支持;-)
标签: java android android-alertdialog illegalstateexception