Я пытаюсь использовать диалоговое окно предупреждения на кнопке удаления. Но он показывает исключение, чтобы показать диалог. Когда я нажимаю кнопку «Удалить», он падает и показывает исключение в .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>
Спасибо.
Я думаю, что исключение составляет BadTokenException. Вам нужно отменить диалоговое окно предупреждения на кнопке NO и DELETE – Aziz
onClick() кнопки? – Sid
onClick of setPositiveButton и setNegativeButton – Aziz