在Android中更改活动setContentView()

时间:2012-02-07 16:06:01

标签: android

我刚才有一个关于更改活动布局的问题。

基本上我的问题是:

我有一个列表视图,其中填充了一系列字符串。 我有一个分配给ListView的OnItemClick事件,

当用户点击列表视图中的项目时,我希望当前布局消失,并且图像取代它。

通过阅读其他帖子,我知道推荐的方法是为ListView中的每个项目设置一个单独的活动,但是,看起来所有活动正在进行的是显示图像我认为这样做会浪费精力为ListView中的每个项目设置单独的活动......

有人可以给我一些帮助吗?

谢谢提前。

1 个答案:

答案 0 :(得分:5)

你真的应该创建一个新的活动(如果你有空间,则是一个新的片段,但这是另一个问题),它显示图像,至少出于以下原因

  1. 编码和维护这样的解决方案非常非常简单。如果明天你想要添加2个按钮和一些文本以及可能是该图像的菜单怎么办?您可以使用全新的活动进行编辑和升级,而不会有损坏列表活动的风险。

  2. 它更加用户友好。如果用户在显示图像时按下,有2个活动,他将返回列表,您的解决方案将在列表之前返回,这不是他所期望的

  3. 记住这条建议:1活动= 1个简单的任务或与用户的互动。

    list + image display = 2个活动(或片段)

    PS:您不需要为每个列表项定义不同的活动,只需将意图传递给“ImageActivity”并指定要显示的图像!

    编辑2:传递给你当前选择的下一个活动,只需使用Intent类的putExtra(String key,T value)(T可能会有所不同,检查文档)方法。 示例:intent.putExtra(“imgCodeSelected”,index)其中index由onItemClick事件提取。只要有不同的密钥,您就可以根据需要添加多个附加功能。