Ich versuche, eine Liste von Schaltflächen mit Text gepaart zu erstellen. Wenn auf eine Schaltfläche in der Liste geklickt wird, möchte ich den Ganzzahlwert in der zugehörigen Textansicht erhöhen. Mein Plan war, den folgenden Code zu verwenden, aber ich habe einen Fehler mit viewHolder
innerhalb der OnClickListener
weil viewHolder
ist nicht endgültig, und es kann nicht sein, um es innerhalb der onClick
zu manipulieren. Wie kann ich den zugehörigen Textwert ändern?ListView mit Button, mit ViewHolder innerhalb OnClick
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;
}
Danke für die Hilfe!