テキストとペアになったボタンのリストを作成しようとしています。リスト内のボタンをクリックするたびに、関連するテキストビューで整数値を増やしたい。私の計画は次のコードを使用することでしたが、viewHolder
をOnClickListener
に入れてエラーが発生しました。viewHolder
は最終的なものではなく、onClick
の中で操作することはできません。関連するテキスト値を変更するにはどうすればよいですか?ボタン付きListView、OnClick内のViewHolderの使用
public View getView(final int position, View convertView, ViewGroup parent){
ViewHolder viewHolder = null;
if (convertView == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(R.layout.row, null);
viewHolder = new ViewHolder();
viewHolder.text = (TextView) convertView.findViewById(R.id.playerScore);
viewHolder.button = (Button) convertView.findViewById(R.id.playerButton);
viewHolder.button.setOnClickListener(new View.OnClickListener() {
protected String scoreToSet;
@Override
public void onClick(View v) {
viewHolder.text.setText(Integer.toString(modelList.get(position).getScore() + 1)); //Error is occurring here
}
});
convertView.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) convertView.getTag();
viewHolder.button.setText(modelList.get(position).getPlayer());
}
return convertView;
}
ありがとうございました!