我需要在我的应用中添加在用户离开应用时显示消息的可能性(即您想要离开吗?是 - 否)
我正在使用片段所以我真的不知道哪个是最后一个在“onBackPressed”上显示消息的,所以有没有办法知道剩下多少片段或者我错过了什么?
答案 0 :(得分:2)
如果您使用的是ViewPager
,则可以使用ViewPager的getCurrentItem() method
获取currentFragment数字,
然后实现onBackPressed
的{{1}}方法,无论用户处于什么片段,它都会被调用,仍然可以将currentFragment数与片段的totalNumber进行比较并显示消息。
Activity
答案 1 :(得分:1)
getSupportFragmentManager()getBackStackEntryCount()
@Override
public void onBackPressed() {
if(getSupportFragmentManager().getBackStackEntryCount() == 0){
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
MainActivity.this.finish();
break;
case DialogInterface.BUTTON_NEGATIVE:
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.leave_app)).setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
} else {
super.onBackPressed();
}
}