[英]How do I swap fragments, still within the same MainActivity?
我有一個包含主要片段和底部導航欄的MainActivity (底部導航欄決定顯示哪個片段)。
=====場景====
假設在我的底部導航欄中,我有按鈕 A、B 和 C,它們切換到 A、B 和 C 狀態。 當我點擊按鈕 B 時,我希望它轉到特定片段。 我已經知道了。
我目前無法做到這一點:
但是在片段中我有一個按鈕,單擊該按鈕應該將我帶到另一個片段,但在底部導航欄上,我仍在狀態 B 中。例如:單擊該按鈕將顯示另一個頁面以填寫某種表格
我不確定最好的方法是什么。 任何專業知識表示贊賞。
干杯
我找到了一個解決方案,即執行片段事務
檢查這個android資源
對於活動之間的轉換,您創建並啟動一個意圖,但是對於片段,您執行片段事務。
下面的代碼應該很容易理解:
// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
這里的旁注是transaction.addToBackStack(null);
這保留了該事務的后台狀態。 即,當您單擊后退按鈕時,它知道去哪里 - 上一個片段(這可能有點令人哭笑不得,因為兩個片段仍然處於主活動的相同狀態(通常是按鈕選項卡之一)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.