ListView: ItemID setzen

Z

zapbee

Neues Mitglied
0
Hallo,
ich möchte eine einfache DB-Tabelle in einem ListView anzeigen und bei Click auf ein Produkt im nächsten Screen die Produkt -Details anzeigen. Dazu muss ich im ListView die (Produkt)-ID setzen, damit ich sie dann übergeben kann. Aber ich weiß nicht wie. Die ListView-Tutorials zeigen immer nur, wie ich String-Arrays anzeige.
TABELLE
Code:
ID Produktname
1  Produkt1
2  Produkt2
3  Produkt3
LISTE
Produkt1 - Click soll Produkt-ID 1 an Detailscreen übergeben
Produkt2 - ...
Produkt3 - ...

Was muss ich tun?

Danke
Zap
 
Du brauchst nen eigenen Adapter, dem du dein Objekt übergibst anstatt einem String-Array.

Hier mal ein Beispiel für nen Login-Adapter:

Code:
public class LoginArrayAdapter extends ArrayAdapter<User> {

	private int resourceID;
	//private int tvResourceID;
	
	
	public LoginArrayAdapter(Context context, int resourceId, List<User> userList) {
		super(context, resourceId, userList);
		this.resourceID = resourceId;
	}
	
	public LoginArrayAdapter(Context context, int resourceId, int textViewResourceId, List<User> userList) {
		super(context, resourceId, textViewResourceId, userList);
		this.resourceID = resourceId;
		//this.tvResourceID = textViewResourceId;
	}
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		User user = getItem(position);
		LinearLayout layout = null;
		
		if (convertView == null) {
			layout = new LinearLayout(getContext());
			LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			inflater.inflate(resourceID, layout, true);
		}
		else {
			layout = (LinearLayout)convertView;
		}

		TextView tvUsername = (TextView)layout.findViewById(R.id.login_spUser_tvUsername);
		tvUsername.setText(user.getLogin());
		
		return layout;
	}
}
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.017
swa00
swa00
A
Antworten
1
Aufrufe
633
swa00
swa00
D
Antworten
9
Aufrufe
1.762
jogimuc
J
Zurück
Oben Unten