基本上我试图在群组点击时更改图像,但不成功。
我能够收到扩展和折叠组的正确日志,但ImageView没有根据它更新。
这是一个示例代码,我不确定它有什么问题:
private android.widget.ExpandableListView.OnGroupClickListener mGroupClickListener= new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
Bitmap mBitmapCollapsed = BitmapFactory.decodeResource(getActivity().getResources(), R.drawable.ic_launcher);
Bitmap mBitmapExpanded = BitmapFactory.decodeResource(getActivity().getResources(), R.drawable.ic_drawer);
ImageView mImageView = (ImageView)v.findViewById(R.id.carat_imageView);
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition);
Log.d("onGroupClick:", "groupCollapsed");
mImageView.setImageBitmap(mBitmapCollapsed);
} else {
parent.expandGroup(groupPosition);
Log.d("onGroupClick:", "groupExpanded");
mImageView.setImageBitmap(mBitmapExpanded);
}
return false;
}
};
我无法在这里确定问题,似乎代码很好。
我们将非常感谢您的帮助。在此先感谢.. :))
答案 0 :(得分:0)
实际找到了解决方案:
<强> onGroupView:强>
我将id设置为:
//isExpanded is a boolean in the onGroupView method
(!isExpanded) ? R.drawable.closed_icon: R.drawable.expanded_icon;
并将ImageView设置为:
mImageView.setImageResource(id);
希望这有助于某人...... :)