[英]Confirm Dialog Opens onClick for All Items on Action Bar
您好,我是android新手,我的操作欄上有多個項目,還有注銷圖標/按鈕。 現在,當用戶單擊注銷按鈕時,它應顯示一個確認對話框,如果用戶單擊“是”,則返回登錄屏幕。
我已經設法做到了,但是我注意到,現在我單擊的所有項目都顯示確認對話框,而不僅僅是注銷。
這是我的代碼:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case R.id.action_open_invoices:
Intent i = new Intent(context, InvoicesActivity.class);
startActivity(i);
case R.id.action_synchronize:
// Start Updater Service
Intent updaterService = new Intent(context, UpdaterService.class);
startService(updaterService);
case R.id.action_logout:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Confirm");
builder.setMessage("Are you sure?");
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
settings.edit().remove("Token").commit();
Intent loginIntent = new Intent(context, LoginActivity.class);
startActivity(loginIntent);
dialog.dismiss();
}
});
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Do nothing
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
return super.onOptionsItemSelected(item);
}
case R.id.action_open_invoices:
Intent i = new Intent(context, InvoicesActivity.class);
startActivity(i);
break;
使用中斷聲明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.