リストビュー (各項目がボタン) を実装しましたが、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 内には、膨張するレイアウトを参照するコード行だけが必要ですか?