說我有一些片段顯示和做某些事情。現在,基於某個事件,我想更改片段的屏幕(或內容)。 [編輯]更新片段在android
例如。
我的第一個佈局佈局A有一個列表視圖。而另一個佈局,佈局B有一個表格視圖。我目前在片段中顯示佈局A.在列表項單擊時,我想在同一個片段中顯示佈局B.
這是如何完成的?
謝謝。
說我有一些片段顯示和做某些事情。現在,基於某個事件,我想更改片段的屏幕(或內容)。 [編輯]更新片段在android
例如。
我的第一個佈局佈局A有一個列表視圖。而另一個佈局,佈局B有一個表格視圖。我目前在片段中顯示佈局A.在列表項單擊時,我想在同一個片段中顯示佈局B.
這是如何完成的?
謝謝。
如果我正確理解你的問題,這是我將如何去解決它。
我假設你已經爲你的列表片段(片段A)和視圖片段(片段B)創建了片段類。
我們可以使用fragmentManager來替換佈局視圖中的片段。
//grab fragmentManager, this will allow us to switch out fragments
FragmentManager fragManager = getFragmentManager();
FragmentTransaction fragTransaction = fragManager.beginTransaction();
//first remove the current fragment
fragTransaction.remove(fragManager.findFragmentById(R.id.layout_view));
//replace the current FragmentA with FragmentB
fragTransaction.replace(R.id.layout_view, new FragmentB());
//add to backstack if you want the android back button to work properly
fragTransaction.addToBackStack(null);
//and lastly, we commit the changes to the fragmentManger's transaction
fragTransaction.commit();
希望這會有所幫助。
我的第一個佈局,佈局A,有一個列表視圖。而另一種佈局,佈局 B有一個表格視圖。我目前在 片段中顯示佈局A.在列表項單擊時,我想要在相同的 片段中顯示佈局B.
這是如何完成的?
您可以使用新的嵌套片段API(可通過兼容包和普通片段API 16+獲得)。相反,當前Fragment
持有的ListView
(和你會被替換表),你就會有一個包裝Fragment
,一個有作爲其視圖中的單個FrameLayout
其內容。
你會創建兩個片段一個包含ListView
和含有表格的佈局。最初,您將基於列表的片段添加到包裝器片段以獲取開始佈局,並在項目單擊事件中,您將使用getChildFragmentManager()
將基於列表的片段替換爲基於表格的片段(全部在包裝器片段中)。
這是一個非常寬泛和普遍的問題。你可以再詳細一點嗎? – StuStirling
我編輯了這個問題以包含更多細節。謝謝。 – Namratha