【发布时间】:2013-11-27 11:22:42
【问题描述】:
我有一个包含多个 ListView 项目的 ListView。 ListView 项目布局包含一个 ImageView。我将此 ImageView 用作按钮。单击按钮时,它将 ImageView 从灰色图像更改为绿色图像。但是当我将 ImageView 滚动出可见视图然后返回到它时,它会返回到原来的颜色。创建 ImageView 时,它可以是绿色或灰色,它取决于 JSON 数组。因此,如果图像是绿色并单击它会变成灰色。然后当它离开可见视图并返回可见视图时,它又是绿色的!如何使图像保持新状态?
这是我的代码,
if(p.getJSON().equals("NO")){
imageView.setBackgroundResource(R.drawable.gray);
imageView.setTag(0);
}//end if equals NO
if(p.getJSON().equals("YES")){
imageView.setClickable(false);
imageView.setBackgroundResource(R.drawable.green);
imageView.setTag(1);
}//end if equals yes
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View imageView) {
final int status = (Integer) imageView.getTag();
if (status == 0){
imageView.setBackgroundResource(R.drawable.green);
imageView.setTag(1);
}
else{
imageView.setBackgroundResource(R.drawable.gray);
imageView.setTag(0);
}
}//end on click
});
【问题讨论】:
-
您如何获得
p?你能从一开始就发布getView()吗?
标签: android listview android-listview