I need to change the image when I click on this image. I try to do this so that he changes the image, but not in this position, in a random position. Code
public class InteractiveArrayAdapter extends
ArrayAdapter<HashMap<String, String>> {
public boolean[] checkBoxState;
boolean[] favStar;
ViewHolder viewholder;
private LayoutInflater inflater;
private ArrayList<HashMap<String, String>> menuItems;
public InteractiveArrayAdapter(Context context, int resource,
ArrayList<HashMap<String, String>> menuItems) {
super(context, resource, menuItems);
this.menuItems = menuItems;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
checkBoxState = new boolean[menuItems.size()];
}
private class ViewHolder {
TextView title, link, published, description;
public ImageView newsCheck;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item1, null);
viewholder = new ViewHolder();
viewholder.title = (TextView) convertView
.findViewById(R.id.news_title);
viewholder.published = (TextView) convertView
.findViewById(R.id.published);
viewholder.description = (TextView) convertView
.findViewById(R.id.description);
viewholder.newsCheck = (ImageView) convertView
.findViewById(R.id.newsCheck);
System.out.println("position" + position);
convertView.setTag(viewholder);
} else
viewholder = (ViewHolder) convertView.getTag();
HashMap<String, String> catalog_list = new HashMap<String, String>();
catalog_list = menuItems.get(position);
viewholder.title.setText(catalog_list
.get(NewsXMLParsingActivity.NEWS_KEY_TITLE));
viewholder.published.setText(catalog_list
.get(NewsXMLParsingActivity.NEWS_KEY_PUB));
viewholder.description.setText(catalog_list
.get(NewsXMLParsingActivity.NEWS_KEY_DESCRIPTION));
viewholder.newsCheck.setTag(position);
viewholder.newsCheck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
viewholder.newsCheck.getTag(position);
System.out.println(v.getTag() + "qqqqqq");
int position = (Integer) v.getTag();
viewholder.newsCheck.setImageResource(R.drawable.favv2);
}
});
return convertView;
}
}
source
share