如何更改Android中的后退按钮功能(片段)

时间:2014-10-08 10:08:21

标签: android android-fragments back-button back-stack

我正在开发一个Android应用程序,我在更改后退按钮功能方面遇到了问题。我怎能"取代"这个按钮的默认动作是什么?

我会实现一个简单的功能,允许用户在按下后退按钮时返回上一个片段,例如:

[主要片段] ----> [第2片段] [第二片段]< ---- [主要片段]

我已经读过这样的问题,但我不明白如何解决我的问题。

/**
     * Diplaying fragment view for selected nav drawer list item
     * */
    private void displayView(int position) {
        // update the main content by replacing fragments
        Fragment fragment = null;
        switch (position) {
        case 0:
            fragment = new HomeFragment(getApplicationContext());
            break;
        case 1:
            fragment = new FindPeopleFragment();
            break;
        case 2:
            fragment = new PhotosFragment();
            break;
        case 3:
            fragment = new CommunityFragment();
            break;
        case 4:
            fragment = new PagesFragment();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;

        default:
            break;
        }

这是我的代码的一部分,我称之为"新片段"。 当我启动我的应用程序时,会创建一个新片段(HomeFragment),在此片段中我创建一个新片段(Fragment_Detail)。

我想要的是从Fragment_Detail返回HomeFragment。

我希望我是解释性的

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

只需添加 addToBackStack(null)即可。它将自动转到堆栈中加载的前一个片段。

 HomeFragment  fragment = new HomeFragment();
                FragmentManager manager = getSupportFragmentManager();
                manager.beginTransaction()
                        .replace(R.id.content, fragment,TAG)
                        .commit();

参考addToBackStack()并参考this answer。 请参阅docs