Dies ist die Klasse I in den OnClickListener implementieren möchten:Wie richte ich onClickListener für ListView ein, das an einen benutzerdefinierten Adapter gebunden ist?
private void updateUserListView(DatabaseHandler dbh) {
List<User> users = dbh.getAllUsers();
ListView listView = (ListView) findViewById(R.id.userslistview);
listView.setAdapter(new UserArrayAdapter(BeerFriendActivity.this, users));
}
Der Adapter-Code ist:
public class UserArrayAdapter extends ArrayAdapter<User> {
private final Context context;
private final List<User> values;
public UserArrayAdapter(Context context, List<User> values) {
super(context, R.layout.userrow, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context con = context;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.userrow, parent, false);
Button button = (Button) rowView.findViewById(R.id.userrowbutton);
TextView textView = (TextView) rowView.findViewById(R.id.userrownametext);
textView.setText(values.get(position).getName());
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(context,BeerSearchActivity.class);
Bundle b = new Bundle();
b.putInt("id", values.get(pos).getId());
myIntent.putExtras(b); //Put your id to your next Intent
con.startActivity(myIntent);
}
});
User user = values.get(position);
return rowView;
}}
ich den Clicker Umsetzung haben versucht, aber alles, was ich bekommen, ist eine Reihe von Fehlern. Ich habe viele Tutorials und ähnliche Fragen gelesen, aber keine der Antworten scheint zu meiner Situation zu passen oder ich verstehe sie nicht ganz. Jede Hilfe würde sehr geschätzt werden!
Gibt es einen Grund, warum Sie stattdessen in jeder Zeile eine Schaltfläche will von Jede Zeile anklickbar machen? – JRaymond
Ich muss beides passieren. Die Schaltfläche in jeder Zeile funktioniert, aber die ListView-Zeile muss auch anklickbar sein. Die Click-Methode für die ListView-Zeile funktioniert nicht. – user1316202