【发布时间】:2017-04-05 20:30:21
【问题描述】:
所以.. 我有多个 Fragment,用户在登录后看到的第一个被视为“WelcomeFragment”,其余的无关紧要。
我只想在用户查看 WelcomeFragment 时弹出注销过程的对话框。我怎样才能做到这一点?我尝试了以下操作:
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
if(getFragmentManager().getBackStackEntryCount() == 0) {
new AlertDialog.Builder(MenuActivity.this)
.setTitle("Logout")
.setMessage("Sure you want to logout?")
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
tool.logout();
}
})
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(R.mipmap.change)
.show();
}
else {
getFragmentManager().popBackStack();
}
}
}
(注销方式)
public void logout() {
Intent mainIntent = new Intent(context, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mainIntent.putExtra("logout", "logout");
context.startActivity(mainIntent);
}
【问题讨论】:
标签: android android-fragments android-activity back onbackpressed