【问题标题】:How to populate a ListView based on the action in previous activity?如何根据先前活动中的操作填充 ListView?
【发布时间】:2019-01-17 03:31:00
【问题描述】:

目前我的主要活动中有三个按钮。每个按钮都会打开一个新活动,其中包含一个包含不同照片的 ListView。每个ListView 都有不同的大小。

我已经为我的问题创建了一个架构:

我的问题是:如何只创建一个包含ListView 的活动并根据单击的按钮使用不同的照片填充它?

我想我必须使用intent.putExtra 来定义按钮编号,并在if 语句中使用此编号将图像添加到ListView。但我不确定这个解决方案。

【问题讨论】:

  • 你应该展示你的努力,否则社区将继续投票。

标签: android listview android-intent


【解决方案1】:

您为什么不确定这个解决方案?
如果要打开的activity的布局在所有3种情况下都相同,唯一的区别是列表的内容,那么这是最简单和最好的解决方案。
只需将一个整数值传递给意图并在打开的活动的 onCreate() 中检查它。根据值创建并设置列表的适配器,您就完成了。
这是最有效的方式,并且消耗的资源更少。

【讨论】:

    【解决方案2】:

    创建 3 个Fragments 并在每个按钮上按下只需加载所需的Fragment。每个Fragments 都应该有ListView/RecyclerView 并使用不同的数据源。就是这样 :) 当然,这可以通过多种方式实现,但这就是我的处理方式。


    祝你好运 :)

    【讨论】:

    • 谢谢,我试试这个
    【解决方案3】:

    创建 1 个自定义适配器,它采用整数的 Arraylist(即资源 id)并将这些 id 设置为适配器中的 imageview。

    在按钮的活动 onclick 中将相关的 id 添加到 Arraylist 并通过意图传递给下一个活动。您可以从以下意图传递和获取数组列表

    1) intent.putStringArrayListExtra("array_list", array_list); 2) intent.getStringArrayListExtra("array_list");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      相关资源
      最近更新 更多