我有一个列表视图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