我刚才有一个关于更改活动布局的问题。
基本上我的问题是:
我有一个列表视图,其中填充了一系列字符串。 我有一个分配给ListView的OnItemClick事件,
当用户点击列表视图中的项目时,我希望当前布局消失,并且图像取代它。
通过阅读其他帖子,我知道推荐的方法是为ListView中的每个项目设置一个单独的活动,但是,看起来所有活动正在进行的是显示图像我认为这样做会浪费精力为ListView中的每个项目设置单独的活动......
有人可以给我一些帮助吗?
谢谢提前。肖
答案 0 :(得分:5)
你真的应该创建一个新的活动(如果你有空间,则是一个新的片段,但这是另一个问题),它显示图像,至少出于以下原因
编码和维护这样的解决方案非常非常简单。如果明天你想要添加2个按钮和一些文本以及可能是该图像的菜单怎么办?您可以使用全新的活动进行编辑和升级,而不会有损坏列表活动的风险。
它更加用户友好。如果用户在显示图像时按下,有2个活动,他将返回列表,您的解决方案将在列表之前返回,这不是他所期望的
记住这条建议:1活动= 1个简单的任务或与用户的互动。
list + image display = 2个活动(或片段)
PS:您不需要为每个列表项定义不同的活动,只需将意图传递给“ImageActivity”并指定要显示的图像!
编辑2:传递给你当前选择的下一个活动,只需使用Intent类的putExtra(String key,T value)(T可能会有所不同,检查文档)方法。 示例:intent.putExtra(“imgCodeSelected”,index)其中index由onItemClick事件提取。只要有不同的密钥,您就可以根据需要添加多个附加功能。