java.lang.IllegalStateException:您需要将Theme.AppCompat主题与此活动一起使用

时间:2015-11-04 06:54:17

标签: android android-alertdialog android-appcompat

当我使用appcompat创建警告对话框时,它显示以下错误:

  

java.lang.IllegalStateException:您需要使用Theme.AppCompat   这个活动的主题(或后代)。

at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:309)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:278)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:252)
at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:76)
at android.support.v7.app.AlertController.installContent(AlertController.java:216)
at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:240)
at android.app.Dialog.dispatchOnCreate(Dialog.java:373)
at android.app.Dialog.show(Dialog.java:274)
at com.altiux.sharedpre.LoginActivity$1.onClick(LoginActivity.java:30)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
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:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
11-04 01:51:50.868 8765-8765/? I/Process: Sending signal. PID: 8765 SIG: 9

1 个答案:

答案 0 :(得分:1)

最后我得到了解决方案 当我们调用AlertDialog.Builder时,我们必须传递当前活动上下文。 以下是语法。

AlertDialog.Builder builder = new AlertDialog.Builder(CurrentActivity.this);