onOptionsItemSelected dialog.show() 未显示
onOptionsItemSelected dialog.show() not showing
我正在尝试显示一个对话框,在成功注销时通知用户。目前对话框仅在处理 onOptionsItemSelected 方法后显示。我想 运行 在 onOptionsItemSelected 期间或中的对话框。
我在 "this"、"MainActivity.this"、"break"、"return true" 上进行了搜索和尝试。仍然没有工作。请指教
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case LOGOUT_ID: {
//run some logout process
// ........................
//show message
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Successfully logged out");
dialog.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
redirectToLoginPage();}
});
dialog.show();
break;
}
default:
break;
}
return super.onOptionsItemSelected(item);
}
试试这个
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case LOGOUT_ID:
doLogOut();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private void showAlertDialogLogOut() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("Logout");
dialog.setMessage("Successfully loged out");
dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
redirectToLoginPage()
}
});
dialog.show();
}
private void doLogOut() {
// Do your job and when finish show the dialog
showAlertDialogLogOut();
}
我正在尝试显示一个对话框,在成功注销时通知用户。目前对话框仅在处理 onOptionsItemSelected 方法后显示。我想 运行 在 onOptionsItemSelected 期间或中的对话框。
我在 "this"、"MainActivity.this"、"break"、"return true" 上进行了搜索和尝试。仍然没有工作。请指教
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case LOGOUT_ID: {
//run some logout process
// ........................
//show message
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("Successfully logged out");
dialog.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
redirectToLoginPage();}
});
dialog.show();
break;
}
default:
break;
}
return super.onOptionsItemSelected(item);
}
试试这个
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case LOGOUT_ID:
doLogOut();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private void showAlertDialogLogOut() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("Logout");
dialog.setMessage("Successfully loged out");
dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
redirectToLoginPage()
}
});
dialog.show();
}
private void doLogOut() {
// Do your job and when finish show the dialog
showAlertDialogLogOut();
}