我正在尝试将不同的图像放入子项目中。为此,我做了一个if-else语句,将适当的图像分配给子/子位置。到目前为止,这是有效的,但当我扩展e。 G。另一个父母,然后图像也将插入到其他子项目。
此处我的课程中的相关getChildView() Method
来自BaseExpandableListAdapter
:
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.lblListItem);
txtListChild.setText(childText);
ImageView image = (ImageView) convertView
.findViewById(R.id.image_child);
if (childText.equals("String1")) {
image.setImageResource(R.drawable.ic_1);
} else if (childText.equals("String2")) {
image.setImageResource(R.drawable.ic_2);
}
return convertView;
}
我也尝试将它与childposition直接比较而不是字符串值,但仍然是同样的问题。一些想法? 任何帮助表示赞赏。
谢谢!
答案 0 :(得分:0)
检查LINK!
TODO: 使用2D数组将图像资源ID传递给子视图或任何其他方法。
喜欢这个......
int[][] images = {{R.id.img_1_1, R.id.img_1_2,},{R.id.2_1, R.id.2_2}};
请参阅您将理解的CustomELVAdapter中的getGroupView()。