簡體   English   中英

底部導航欄在打開另一個片段時停止運行

[英]Bottom navigation bar stop a fragment running when another one is opened

所以我不知道如何做到這一點,甚至不知道從哪里開始,所以如果有人有足夠的耐心解釋如何做到這一點,我將不勝感激。 我已經在谷歌上查過了,但我發現很難理解(而且我很確定它可以更容易地完成。

我有 4 個片段(底部導航欄上有 4 個選項卡),我希望當時只運行 1 個。 現在,我很確定我應該使用 FragmentManager 但我真的不知道如何開始在我的程序中實現。

我必須在 mainActivity 中編寫所有 FragmentTransaction 代碼嗎? 之后如何繼續? 是否有示例代碼?

免責聲明:我在 android 工作室環境中是一個完全的菜鳥,我也是一名學生,我幾乎把所有事情都作為一個學校項目。

你可以在你的代碼中試試這個。 在 onNavigationItemSelected

@Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        Fragment fragment = null;

        switch (item.getItemId()) {
            case R.id.navigation_home:
                fragment = new HomeFragment();
                break;

            case R.id.navigation_dashboard:
                fragment = new DashboardFragment();
                break;

            case R.id.navigation_notifications:
                fragment = new NotificationsFragment();
                break;

            case R.id.navigation_profile:
                fragment = new ProfileFragment();
                break;
        }

        return loadFragment(fragment);
    }

    private boolean loadFragment(Fragment fragment) {
        //switching fragment
        if (fragment != null) {
            getSupportFragmentManager()
                    .beginTransaction()
                    .replace(R.id.fragment_container, fragment)
                    .commit();
            return true;
        }
        return false;
    }

我希望這可以幫助你!

謝謝你。

暫無
暫無

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

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