OnBackPressed for Fragment未设置主片段名称(默认片段)

时间:2016-05-05 10:39:23

标签: android android-fragments

在app中有六个片段,例如 6.关于我们(第6个片段名称) 1. MainFragment(第一个片段名称)

每当我从6片段中按回来时。我直接转到第一个片段,但ActionBar中的名称包含第6个片段名称和MainFragment在操作栏下。我想改变它但没有办法

public void onBackPressed() {

    FragmentManager fragmentManager = getSupportFragmentManager();
    backCount = fragmentManager.getBackStackEntryCount();
    System.out.println("back count " + backCount);


    if (backCount == 0) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AppCompatAlertDialogStyle);
        builder.setTitle("Warning");
        builder.setMessage("Are you sure you want to exit?");
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_HOME);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
        });
        builder.setNegativeButton("Cancel", null);
        builder.show();
    } else if (backCount == 1) {
        fragmentManager.popBackStack();
        setTitle("Laundry");

    } else if (backCount > 1) {

        for (int i = fragmentManager.getBackStackEntryCount(); i >= 1; i--) {
            fragmentManager.popBackStack();
            System.out.println("back count loop" + fragmentManager.getBackStackEntryCount());
        }
        setTitle("Laundry");
        //fragmentManager.getBackStackEntryCount()=0;
       /* Fragment fragment = null;
        fragment = new Home_Fragment();
        fragmentManager.beginTransaction().replace(R.id.main_fragment_container, fragment).commit();
        getSupportActionBar().setTitle("Home");*/

    }
}

那么如何在背面按下时更改操作栏中的名称。我正在提供输出的屏幕截图。

Output

2 个答案:

答案 0 :(得分:1)

使用getSupportActionBar().setTitle(title);代替setTitle("Laundry");

可以帮到你!

答案 1 :(得分:0)

使用: -

getActionBar().setTitle("Your Title");