簡體   English   中英

Android,還剩下多少片段

[英]Android, how many fragments left

我需要在用戶離開應用程序時向我的應用程序添加顯示消息的可能性(即,您要離開嗎?是-否)

我正在使用片段,所以我真的不知道哪個是最后一個在“ onBackPressed”上顯示該消息的方法,所以有沒有辦法知道還剩下多少片段或我錯過了什么?

如果您使用的是ViewPager ,則可以使用ViewPagergetCurrentItem() method獲取currentFragment編號,

然后實現ActivityonBackPressed方法,無論用戶位於onBackPressed片段上,都將調用該方法,仍然可以將currentFragment編號與片段的totalNumber進行比較,並顯示一條消息。

private boolean exit = false;
    @Override
        public void onBackPressed() {
                    // implement a logic on backPressed, I have added a logic
                    // it show a toast, if the user presses back again within
                    // three seconds, the activity closes.

                    if (exit)
                Home.this.finish();
            else {
                Toast.makeText(this, "Press Back again to Exit.",
                        Toast.LENGTH_SHORT).show();
                exit = true;
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        exit = false;
                    }
                }, 3 * 1000);

            } 

        }

我需要的是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();
    }


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM