【发布时间】:2018-04-22 18:05:51
【问题描述】:
我有一个扩展 BaseAdapter 的自定义列表适配器。 我创建了一个持有者类来标记我的视图,以避免夸大已经存在的视图。
static class ViewHolder{
TextView tvName;
TextView tvDescription;
Button btAdd;
}
在我的 getView 中我有这样的东西:
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
ViewHolder holder = null;
if(vi == null){
vi = inflater.inflate(R.layout.list_row, null);
holder = new ViewHolder();
holder.tvName = (TextView)vi.findViewvById(R.id.name);
holder.tvDescription = (TextView)vi.findViewvById(R.id.desc);
holder.btAdd = (Button)vi.findViewvById(R.id.btnadd);
}else{
holder = (ViewHolder) vi.getTag();
}
holder.btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
holder.btnAdd.startAnimation(scale);
holder.tvName.setVisibility(View.GONE);
}
});
return vi;
}
但是 Eclipse 从“holder.btnAdd.startAnimation(scale);”得到错误并说持有人应该是最终的......
我该如何解决?
【问题讨论】:
标签: android listview onclicklistener