java - 在android中创建警报对话框时出现java.lang.IllegalStateException
问题描述
这里是初学者。。
我无法创建警报对话框。当我使用 `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)
谢谢小伙伴们。。
解决方案
改变,
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
至
AlertDialog.Builder builder = new AlertDialog.Builder(this);
推荐阅读
- ruby-on-rails - 为 has_many 关联显示设置的字段数时,如何避免在 Accept_nested_attributes_for 中保存 nil/blank?
- scikit-learn - 为什么 sklearn pipeline.set_params() 不起作用?
- java - 使用 Angular 在 Jhipster 上存储用户图像的位置
- python - 自定义窗口打开时如何禁用 Maya 用户界面?
- r - ggplot2中多面填充条形图中的标签百分比
- html - 如何为第一个元素上下文分配默认值?
- python - 如何复制用户的文本?
- javascript - ContentControl 操作减慢 Word Online
- sql - 可配置报表插件,sql查询
- openshift - OpenShift CronJob 可以从 ImageStream 中受益吗?