Wie bekomme ich Daten von benutzerdefinierten adapter in einem ListView?
hier ist mein problem :
Erstellte ich eine benutzerdefinierte adapter für mein ListView und ich bekomme Informationen aus einer Liste, ich gebe zu, dass adapter, um zu lassen ihn zu erfüllen, meine ListView. Er macht alles richtig. Jetzt würde ich gerne umsetzen einer OnItemClickListener und um die Daten zu erhalten. Aber in dieser Liste habe ich 4 TextViews ...
Wie kann ich die Daten abrufen ?
Ich weiß schon, wie bekommt man die id und die position, da ich Sie in einen Toast.
Vielen Dank für Eure Hilfe !
Hier ist der eigene Adapter :
public class NextRdvAdapter extends ArrayAdapter<NextRdv> {
private List<NextRdv> listNextRdv = new ArrayList<NextRdv>();
private Context context;
public NextRdvAdapter(List<NextRdv> nextRdvList, Context ctx) {
super(ctx, R.layout.list_next_rdv, nextRdvList);
this.listNextRdv = nextRdvList;
this.context = ctx;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) { //This a new view we inflate the new layout
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_next_rdv, parent, false);
} //Now we can fill the layout with the right values
TextView tvTimeStart = (TextView) convertView.findViewById(R.id.next_time_start);
TextView tvTimeEnd = (TextView) convertView.findViewById(R.id.next_time_end);
TextView tvEnterprise = (TextView) convertView.findViewById(R.id.next_enterprise_name);
TextView tvAddress = (TextView) convertView.findViewById(R.id.next_address);
NextRdv rdv = listNextRdv.get(position);
tvTimeStart.setText(rdv.getStartTime());
tvTimeEnd.setText(rdv.getEndTime());
tvEnterprise.setText(rdv.getEnterprise());
tvAddress.setText(rdv.getAddress());
return convertView;
}
}
Hier mein Fragment, das posess die ListView :
public class HomeFragment extends Fragment implements OnItemClickListener{
float density;
//Everything you need about this rdv
private ListView lvThisRdv;
private List<NextRdv> listThisRdv = new ArrayList<NextRdv>();
private NextRdvAdapter ThisRdvAdapter;
private NextRdvListBouchon thisBouchon;
//Everything you need about next rdv
private ListView lvNextRdv;
private List<NextRdv> listNextRdv = new ArrayList<NextRdv>();
private NextRdvAdapter nextRdvAdapter;
private NextRdvListBouchon bouchon;
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
lvThisRdv = (ListView)rootView.findViewById(R.id.listView_this_RDV);
thisBouchon = new NextRdvListBouchon();
listThisRdv = thisBouchon.getBouchonInc();
ThisRdvAdapter = new NextRdvAdapter(listThisRdv, getActivity());
lvThisRdv.setAdapter(ThisRdvAdapter);
//Displaying the list of the next meetings
lvNextRdv = (ListView)rootView.findViewById(R.id.listView_next_RDV);
//Get test data
bouchon = new NextRdvListBouchon();
listNextRdv = bouchon.getBouchon();
nextRdvAdapter = new NextRdvAdapter(listNextRdv, getActivity());
lvNextRdv.setAdapter(nextRdvAdapter);
lvNextRdv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//
Toast toast = Toast.makeText(getActivity(), "Pos : " +position+ " /id : " + id, Toast.LENGTH_SHORT);
toast.show();
}
});
return rootView;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
}
}
InformationsquelleAutor Kevin Gilles | 2014-06-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
innen
onItemClick
können Sie dieAdapterView
argument,Sie sind herzlich willkommen.
Arbeitete wie ein Charme, Dank wieder für beide Ihr Tempo und Präzision !
Das bedeutet also, dass der adapter nicht nur die Daten abzurufen, sondern halten auch die Elemente in der Liste ? Hast du irgendeinen link oder ein beliebiges Thema, das würde erklären, dieser Punkt, den ich Lesen könnte ?
Vielen Dank für dieses Jahr, ich werde zu studieren, dass Punkt weiter. Wünsche Euch einen tollen Tag !
InformationsquelleAutor Blackbelt
Können Sie folgenden code verwenden,
Verwendung dieser u können die Daten von beliebigen TextView in benutzerdefinierten adapter für die ausgewählte Zeile.
Hoffe, Sie helfen...
Ja, dass ist auch ein weiterer Weg, dies zu tun
Vielen Dank für Ihre Antwort, aber Blackbelts bereits versorgte mich mit eine, die bequemer für mich. Danke für die Hilfe aber !
herzlich willkommen, @KevinGilles
InformationsquelleAutor Neha Shukla