我已经实现了一个列表视图(其中每个项目都是一个按钮),现在我想通过使用 ViewHolder 来提高它的效率。这是我的问题,我不知道我必须在哪里覆盖这些按钮的 OnClick 方法。
这是我的 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 方法必须显示有关所选项目的一些信息,所以这是我的问题。我可以在里面覆盖这个方法吗
if(convertView==null) {这里}
(为了只做一次)?或者与之相反,在这个 IF 内部必须只有引用膨胀布局的代码行?