我想根据不工作的条件更改与每个项目相关联的图像。项目不会重复但图像会重复
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.search_shopping_items,
null);
holder = new ViewHolder();
holder.txt = (TextView) convertView
.findViewById(R.id.TextView01);
holder.imgFavHis=(ImageView) convertView.findViewById(R.id.imgFavHis);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if(LocalDb.isLoggedIn()){
holder.txt.setText( arr.get(position));
if(hisList.contains(arr.get(position))){
holder.imgFavHis.setImageResource(R.drawable.icnhistory);
}
else if (favList.contains(arr.get(position)) ){
holder.imgFavHis.setImageResource(R.drawable.icnfavorite);
}
}
else{
holder.txt.setText(arr.get(position));
}
return convertView;
}
}
答案 0 :(得分:0)
如果条件(LocalDb.isLoggedIn())为false,则重复图像。 convertView带有图像的getView()。因此,此图像保留在这种情况下。您可以在else语句中将null设置为imgFavHis。
BTW,请使用以下
public Object getItem(int position) {
return arr[position];
}
public long getItemId(int position) {
return position;
}