setDisplayHomeAsUpEnabled(false)在片段中不起作用

时间:2017-05-05 04:54:58

标签: android menuitem

我想在家庭片段中隐藏HomeAsUp,我使用了((MainActivity)getActivity())。hideHome(); 但它无法正常工作。我不想使用SherlockFragmentActivity。

这可以隐藏没有SherlockActivity的HomeAsUp图标吗?如果可能,那么如何使用它。

当我给Home片段充气时,代码如下所示

    switch (item.getItemId()) {
                case R.id.homemenu:
                    // mDrawer.openDrawer(GravityCompat.START);
    //                getSupportActionBar().setDisplayHomeAsUpEnabled(false); // show back button
                    fragmentClass = Home.class;
                    try {
                        fragment = (Fragment) fragmentClass.newInstance();
                    } catch (InstantiationException e) {
                        e.printStackTrace();
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }


                    // Insert the fragment by replacing any existing fragment
                    FragmentManager fragmentManager = getSupportFragmentManager();
                    fragmentManager.beginTransaction().setCustomAnimations(R.anim.enter_anim, R.anim.exit_anim, R.anim.pop_enter, R.anim.pop_exit).replace(R.id.activity_main_content_fragment, fragment).commit();
                    return true;
}

1 个答案:

答案 0 :(得分:1)

尝试以下解决方案:

1 - 如果您的活动是AppCompatAcitity:

((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
((AppCompatActivity)getActivity()).getSupportActionBar().setHomeButtonEnabled(false);

- 如果您的活动是FragmentActivity:

getActivity().getActionBar().setDisplayHomeAsUpEnabled(false);
getActivity().getActionBar().setHomeButtonEnabled(false);