Android,剩下多少片段

时间:2013-12-12 09:11:38

标签: android android-fragments

我需要在我的应用中添加在用户离开应用时显示消息的可能性(即您想要离开吗?是 - 否)

我正在使用片段所以我真的不知道哪个是最后一个在“onBackPressed”上显示消息的,所以有没有办法知道剩下多少片段或者我错过了什么?

2 个答案:

答案 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();
    }


}