我已经实现了一个listview(其中每个项目是一个按钮),现在我想通过使用ViewHolder来提高其效率。这是我的问题,我不知道我必须在哪里重写这些按钮的OnClick方法。ViewHolder的实现和使用
这是我ArrayAdapter的getView:
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder view;
if(convertView==null)
{
view = new ViewHolder();
LayoutInflater inflator = activity.getLayoutInflater();
convertView = inflator.inflate(R.layout.layout_opcion, null);
view.b_opcion = (Button) convertView.findViewById(R.id.boton_opcion);
**view.b_opcion.setOnClickListener(new View.OnClickListener() {...});**
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
**view.b_opcion.setOnClickListener(new View.OnClickListener() {...});**
view.b_opcion.setText(getItem(position));
return convertView;
}
}
这OnClick方法必须显示关于选择的项目的一些信息,所以这里是我的问题。 我可以覆盖内
这种方法,如果(convertView == NULL){HERE}
(为了做到这一点只有一次)? 或者相反,在这个IF内部,必须有只涉及膨胀布局的代码行?