1

Я пытаюсь использовать диалоговое окно предупреждения на кнопке удаления. Но он показывает исключение, чтобы показать диалог. Когда я нажимаю кнопку «Удалить», он падает и показывает исключение в .show.java.lang.IllegalStateException: вам нужно использовать тему Theme.ppCompat (или потомству) с этим действием

Я попытался использовать тему Theme.AppCompat для этой операции, но все же она падает.

<activity android:name=".AddEventActivity" 
     android:theme="@style/Theme.AppCompat"> 
    </activity> 


     delete.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       new AlertDialog.Builder(getApplicationContext()) 
         .setTitle("Delete entry") 
         .setMessage("Are you sure you want to delete this entry?") 
         .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 

           Toast.makeText(getApplicationContext(), "Yaay", Toast.LENGTH_SHORT).show(); 
           i = new Intent(); 
           db.deleteEvent(eventData); 
           Log.i("d", "delete"); 
           setResult(RESULT_OK, i); 
           finish(); 

           // continue with delete 
          } 
         }) 
         .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
           // do nothing 
          } 
         }) 
         .setIcon(android.R.drawable.ic_dialog_alert) 
         .show(); 
      } 
     }); 

Моя тема

 <!-- Base application theme. --> 
    <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> 

     <item name="windowActionBarOverlay">false</item> 

     <item name="windowActionBar">false</item> 

     <item name="windowNoTitle">true</item> 
     <item name="android:windowBackground">@color/background_material_light</item> 
    </style> 
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

Спасибо.

+0

Я думаю, что исключение составляет BadTokenException. Вам нужно отменить диалоговое окно предупреждения на кнопке NO и DELETE – Aziz

+0

onClick() кнопки? – Sid

+0

onClick of setPositiveButton и setNegativeButton – Aziz

ответ

4

у Введен неверный контекст, вы должны использовать контекст деятельности, а не контекст приложения

изменение:

new AlertDialog.Builder(getApplicationContext()) 

в

new AlertDialog.Builder(YourActivityName.this) 
+0

Да. Понял. спасибо .. @ankitarawal – Sid

+0

да .. Не могли бы вы помочь по этой ссылке? http://stackoverflow.com/questions/35237692/how-to-set-calendar-for-notification-before-10-minutes-of-the-event – Sid

+0

настройте alarmManager за 10 минут до расписания –

Смежные вопросы

 Смежные вопросы