每当我单击ImageView
具有 的OnClickListener
时,我都会在屏幕底部获得URL
那个用于下一个的对象,该对象View
尚未出现在屏幕上。
public View getView(int position, View convertView, ViewGroup parent){
View rowView = convertView;
if(rowView == null){
rowView = inflater.inflate(R.layout.listitem, null);
//Creëer een Viewholder om alles statisch op te slaan in het geheugen
holder = new ViewHolder();
holder.title = (TextView) rowView.findViewById(R.id.title);
holder.subreddit = (TextView)rowView.findViewById(R.id.subreddit);
holder.source = (TextView)rowView.findViewById(R.id.source);
holder.score = (TextView)rowView.findViewById(R.id.score);
holder.image = (ImageView)rowView.findViewById(R.id.imageView1);
holder.image.setTag(position);
rowView.setTag(holder);
}
else{
holder = (ViewHolder) rowView.getTag();
}
holder.image.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setAction("com.tolgap.json.TEST");
i.putExtra("page", holder.thing.url);
context.startActivity(i);
}
});
holder.thing = gegevens.get(position).data;
holder.title.setText(holder.thing.title);
holder.subreddit.setText(holder.thing.subreddit);
holder.source.setText(holder.thing.domain);
holder.score.setText(holder.thing.score);
holder.image.setImageBitmap(plaatjes.get(position));
return rowView;
}
这是代码ViewHolder
:
static class ViewHolder{
Result thing;
TextView title;
TextView subreddit;
TextView source;
TextView score;
ImageView image;
}
我已经阅读了一些关于使用该setTag()
方法的内容,并且我已经尝试过这个,但我并没有完全理解我必须作为标签放置的内容。