目前,我的主要活动中有三个按钮。每个按钮都会打开一个包含ListView
的新活动,其中包含不同的照片。每个ListView
的大小都不同。
我的问题是:如何仅创建一个包含ListView
的活动,并根据所单击的按钮向其中填充不同的照片?
我想我必须使用intent.putExtra
来定义按钮编号,并在if
语句中使用该编号将图像添加到ListView
中。但是我不确定这种解决方案。
答案 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”);