У меня возникают проблемы с отображением диалогового окна с предупреждением внутри Действия с вкладками.Мое приложение будет принудительно закрываться каждый раз, когда я пытаюсь отобразить диалоговое окно с предупреждением.Мой код выглядит следующим образом:
public class TablesActivity extends ListActivity {
final int INFO_ID = 0;
final int STATUS_ID = 1;
AlertDialog alert = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to mark table as dirty?")
.setCancelable(false)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Toast.makeText(getApplicationContext(), "Table Marked Dirty",
Toast.LENGTH_LONG).show();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alert = builder.create();
setListAdapter(new ArrayAdapter<String>(this, R.layout.history,
TABLES));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_LONG).show();
}
});
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
alert.show();
// TODO Auto-generated method stub
return true;
}
});
}
static final String[] TABLES = new String[] { "Table 1", "Table 2",
"Table 3", "Table 4", "Table 5", "Table 6", "Table 7", "Table 8",
"Table 9", "Table 10", "Table 11", "Table 12", "Table 13"
};
}
Проблема возникает, когда я пытаюсь выполнить dialog.show (), и больше нигде.Я получаю ошибку logcat:
04-16 17: 25: 15.519: ОШИБКА / AndroidRuntime (311): android.view.WindowManager $ BadTokenException: Невозможно добавить окно - маркер android.app.LocalActivityManager$ LocalActivityRecord @ 44f08320 недействителен;ваша деятельность выполняется?
Ошибка возникает из строки dialog.show ().Я не уверен, что именно здесь делать.Действие выполняется после того, как оно было запущено ранее группой действий, порожденной TabHost.
Есть какие-либо идеи о том, что я могу сделать, чтобы решить эту проблему?Я в своем уме.