簡體   English   中英

如何保存碎片娛樂

[英]how to preserve fragments recreation

我正在嘗試使用片段和RadioGroup來實現選項卡欄

我像這樣在檢查的無線電組更改上切換片段(在sdk示例中看到了類似的內容)

公立

 void onCheckedChanged(RadioGroup radioGroup, int id) {
        TabInfo newTab = mContent.get(id);

        if (newTab != lastTab) {
            FragmentTransaction transaction = mActivity.getSupportFragmentManager().beginTransaction();
            if (lastTab != null && lastTab.fragment != null) {
                transaction.detach(lastTab.fragment);
            }
            if (newTab.fragment == null) {
                newTab.fragment = Fragment.instantiate(mActivity, newTab.getTag());
                transaction.add(mContainerId, newTab.fragment);
            } else {
                transaction.attach(newTab.fragment);
            }
            lastTab = newTab;
            transaction.setCustomAnimations(R.anim.tab_transaction, R.anim.tab_transaction);
            transaction.commit();
        }
    }

但是每次發生這種情況時,都會從頭開始創建附加的片段,即稱為onCreate等。

有什么方法可以防止碎片在活動中一遍又一遍地創建? 我也不希望后退按鈕可以將片段切換回去;

而不是使用方法FragmentTransaction.attach()FragmentTransaction.detach()你可以使用FragmentTransaction.show()FragmentTransaction.hide() 。 您還需要更改您在上面的示例中提供的一些周圍代碼,但我將其留給您自己練習。

暫無
暫無

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

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