我有一個定製的alertdialog與刪除和取消功能。刪除按鈕是刪除當前選中的列表項。取消按鈕應關閉alertdialog並返回列表。當我點擊刪除,它將刪除它,當我點擊取消時,它將關閉alertdialog並轉到列表。但是,當我點擊後退按鈕時,它會再次顯示警告對話框。這裏是我的警告對話框的代碼片段:無法完全關閉alertdialog
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.grocerylistdelete, null);
AlertDialog.Builder abuilder = new AlertDialog.Builder(
context);
abuilder.setView(v);
TextView tvStatement = (TextView) v.findViewById(R.id.textViewStatementDelete);
tvStatement.setTypeface(bold);
tvStatement.setText("Are you sure you want to delete"+" "+mCursor.getString(mCursor.getColumnIndex(DBAdapter.KEY_ITEM))+"?");
Button delete = (Button) v.findViewById(R.id.buttonDelete);
delete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Cursor c = db.getAllGroceries();
c.moveToPosition(info.position);
String id = c.getString(c.getColumnIndex(DBAdapter.ROW_ID));
db.open();
db.deletegrocery(Long.parseLong(id));
c.close();
Toast toast = Toast.makeText(GroceryList.this, "Item Deleted Successfully", 5000);
toast.show();
Intent i = new Intent(getApplicationContext(), GroceryList.class);
fillData();
startActivity(i);
}
});
Button canceldelete = (Button) v.findViewById(R.id.buttonCancelDelete);
canceldelete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), GroceryList.class);
startActivity(i);
}
});
abuilder.setCancelable(false);
AlertDialog alert2 = abuilder.create();
alert2.show();
alert2.show()的範圍是什麼?當您導航到上一頁時,它會再次調用。 – 2012-09-21 08:20:45
如何使後退按鈕不再調用alertdialog? – omi0301
這很奇怪。我認爲'abuilder.setCancelable(false)'的全部意思是防止後退按鈕影響對話框! – manavo