如何根据上一个活动中的操作填充ListView?

时间:2018-08-09 15:28:56

标签: android listview android-intent

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

我已经创建了以下问题的模式:schema

我的问题是:如何仅创建一个包含ListView的活动,并根据所单击的按钮向其中填充不同的照片?

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

3 个答案:

答案 0 :(得分:3)

创建3个<ng-template #thumbnailTemplate let-option="option" let-index="index"> <div id="{{option.divId}}"> <img> <a href="#" id="{{option.closeId}}" (click)="deleteIt(option)">template inserted at index {{option.index}}, {{option.divId}}, {{option.closeId}}</a> </div> </ng-template> ,然后在每个按钮上按加载所需的=IF(A2=EOMONTH(A2;0);IF(LOOKUP(2;1/($A$2:$A$10=A2);$C$2:$C$10)=C2;D2;"");"") 。每个=IF(ISNUMBER(IF(E2="";"";LOOKUP(2;1/($E$1:E1<>"");$E$1:E1)))=FALSE;"";IF(E2="";"";LOOKUP(2;1/($E$1:E1<>"");$E$1:E1))) 中都应包含Fragments,并使用不同的数据源。就是这样:)当然,可以用几种方法来实现,但这就是我要解决的方法。


祝你好运:)

答案 1 :(得分:3)

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

答案 2 :(得分:1)

创建1个自定义适配器,该适配器接受整数数组列表(即资源ID)并将这些ID设置为适配器中的imageview。

在活动onclick按钮上,将相关ID添加到Arraylist中,并通过意图传递给下一个活动。您可以通过如下所示的意图传递并获取arraylist

1)intent.putStringArrayListExtra(“ array_list”,array_list); 2)intent.getStringArrayListExtra(“ array_list”);