【问题标题】:How to change Back Button function in Android (Fragment)如何在 Android 中更改后退按钮功能(片段)
【发布时间】:2014-10-08 10:08:21
【问题描述】:

我正在开发一个 android 应用程序,我在更改后退按钮功能时遇到了问题。我如何“替换”此按钮的默认操作?

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

[主片段] ----> [第二个片段] [第二个片段]

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

/**
     * 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。

我希望我是解释性的

【问题讨论】:

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


    【解决方案1】:

    只需添加 addToBackStack(null)。它会自动转到堆栈中加载的上一个片段。

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

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

    【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 2018-06-09
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 2015-07-14
    • 2017-08-09
    • 1970-01-01
    相关资源
    最近更新 更多