簡體   English   中英

如何在同一個 MainActivity 中交換片段?

[英]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.

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