我有一個列表視圖Item
。在點擊時,我想根據列表視圖中點擊項目的項目位置,使用新的片段替換我的活動中的一個片段。這樣做的方法是什麼?我可以在Item
上指定一個意圖,但我不希望開始一項新活動,只需更改當前活動中的片段即可。根據點擊從Listview替換片段
0
A
回答
0
您可以通過以下操作實現此目的:
- 創建您的碎片(取決於不同的項目有多少您的列表)
- 然後,使用點擊事件,獲取列表的位置item和
- 從列表中獲取正確的片段並使用片段管理器進行設置。 。
注意 你可以做的是看是否片段可重複使用什麼(取決於你希望用戶看到什麼時,他們從列表中單擊該項目
考慮:
現在public List<Fragment> fragments = new ArrayList<Fragment>(){{
add(new FragmentA());
add(new FragmentB());
add(new FragmentC());
}}
,你的列表中的onClick方法中:
public void setFragment(Fragment f, String tag){
//do all the necessary steps here to set fragment
}
setFragment(fragments.get(position), "frag1");
因此,您將根據在列表中點擊哪個項目來設置正確的片段。
我希望這有助於;
注意:也考慮使用接口!
1
如果您使用適配器來顯示列表項目,然後使用標籤來查看項目。
view.setTag(fragmentObject). // each item will hold different fragment
//當一個項目被點擊時,使用getTag()。
Fragment fragmentObject = (Fragment)view.getTag;
//然後替換現有的片段。
FragmentTransaction.replace(fragmentObject).
http://developer.android.com/reference/android/support/v4/app/FragmentTransaction.html
相關問題
- 1. 替換ListView片段與細節片段上的項目點擊
- 2. ListView點擊在Android片段
- 3. 片段不被替換點擊
- 4. 如何替換片段上的按鈕點擊片段?
- 5. 點擊時替換圖片
- 6. 如何在ListView上單擊動態替換片段?
- 7. 刷新上ListView項片段點擊
- 8. 片段中的可點擊ListView項目
- 9. 圖片點擊用iframe替換圖片
- 10. 替換圖片(通過點擊圖片)
- 11. 根據圖片將android片段替換爲幀佈局的fiil_parent
- 12. 從OnClickListener中替換片段
- 13. 替換片段
- 14. 的ListView的片段點擊,且在項目點擊收聽
- 15. 點擊jQuery替換圖片IE9 Bug
- 16. 代碼點擊順序替換圖片?
- 17. JS圖片替換鼠標點擊
- 18. 從片段中替換片段導致片段內容重疊
- 19. 片段不被替換gridview項目點擊android
- 20. 替換片段上的按鈕點擊查看者
- 21. 片段不會替換,當我點擊底部導航
- 22. DrawerLayout項目點擊從堆棧中替換片段是錯誤的位置
- 23. 切換段上的圖片點擊
- 24. 根據點擊
- 25. 從點擊的ListView
- 26. 片段替換()不替換所有片段
- 27. 如何用新的片段替換舊的片段另一個片段的gridview點擊
- 28. 如何用viewpager片段替換片段
- 29. 片段替換現有片段
- 30. Android片段 - 替換是添加片段
謝謝,你知道這是不是最好的方法是什麼?看起來有點奇怪,必須使用全部的索引列表。如果項目本身有責任知道它是片段,那將會很好。 – stevebot
這是一個很好的觀點。但是,如果您可以提前確定片段將顯示的信息類型,並且您知道列表中的所有項目都是相同的,則可以使用一個片段並避免列表。我不知道有什麼其他方式讓這個列表項負責它自己的片段;你如何將這些信息打包成動態列表? – Eenvincible
下面是另一個建議,可以在沒有片段列表的情況下工作:Inside onClick方法,執行switch語句和case位置,然後實例化每個片段並在break語句之前設置;這樣,你根本不需要一個清單; – Eenvincible