如何解决可扩展列表视图中的位置更改问题
How to fix the position change issue in Expandable listview
我想弄清楚如何解决可扩展列表视图中的位置更改问题。我有一个图像视图,由两个图标组成,主要用于标记最喜欢和不最喜欢的。当我在下面的方法
中设置可扩展列表视图适配器中存在的图像视图的 onclick 监听器时
@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 中滚动时,设置的图标色调会自动更改
可能是这样的:
expandableListView.getChildAt(groupPosition)
在子列表上使用组索引,这会导致问题。
我想弄清楚如何解决可扩展列表视图中的位置更改问题。我有一个图像视图,由两个图标组成,主要用于标记最喜欢和不最喜欢的。当我在下面的方法
中设置可扩展列表视图适配器中存在的图像视图的 onclick 监听器时 @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 中滚动时,设置的图标色调会自动更改
可能是这样的:
expandableListView.getChildAt(groupPosition)
在子列表上使用组索引,这会导致问题。