我想弄清楚如何解决Expandable listview中的位置变化问题。我有一个图像视图,包括两个图标,主要用于标记收藏和不喜欢。当我在下面的方法
中设置可扩展listview适配器中存在的imageview的onclick listner时 @Override
public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inf = (LayoutInflater) context
.getSystemService(context.LAYOUT_INFLATER_SERVICE);
convertView = lInflater.inflate(R.layout.myfav, parent, false);
}
final ImageView favourite_icon = (ImageView) convertView.findViewById(R.id.favourite_icon);
favourite_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ImageView imageView = (ImageView)expandableListView.getChildAt(groupPosition).findViewById(R.id.favourite_icon);
imageView.setColorFilter(context.getResources().getColor(R.color.datedisplay),android.graphics.PorterDuff.Mode.MULTIPLY);
}});
位置出错,其他项目图标颜色也发生了变化。当我在这个lisview中滚动时,设置的图标色调会自动更改
答案 0 :(得分:0)
可能是这样的:
expandableListView.getChildAt(groupPosition)
使用子列表上的组索引,这将导致问题。