Hinzufügen eines neuen Elements zu recyclerview programmgesteuert?
Ich versuche immer noch, meinen Kopf um recyclerview.
Ich habe eine arraylist, die ich nutze zum initialisieren einer recycler-Ansicht mit.
Wie kann ich neue Elemente hinzufügen, um den recycler Beitrag anzeigen Einstellung einen adapter und layoutmanager?
private void initData() {
mItems = new ArrayList<String>();
for (int i = 0; i < ITEMS_COUNT; i++) {
mItems.add("Item " + (i + 1));
}
}
private void initRecyclerView() {
mRecentRecyclerView = (RecyclerView) findViewById(R.id.recentrecyclerView);
mRecentRecyclerView.setHasFixedSize(true);
mRecentLayoutManager = new LinearLayoutManager(this);
mRecentRecyclerView.setLayoutManager(mRecentLayoutManager);
mAdapter = new RecyclerView.Adapter<CustomViewHolder>() {
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.notice_snippet
, viewGroup, false);
return new CustomViewHolder(view);
}
@Override
public void onBindViewHolder(CustomViewHolder viewHolder, int i) {
viewHolder.noticeSubject.setText(mItems.get(i));
}
@Override
public int getItemCount() {
return mItems.size();
}
};
mRecentRecyclerView.setAdapter(mAdapter);
private class CustomViewHolder extends RecyclerView.ViewHolder {
private TextView noticeSubject;
public CustomViewHolder(View itemView) {
super(itemView);
noticeSubject = (TextView) itemView.findViewById(R.id.notice_subject);
}
}
Also im Grunde, nachdem ich initdata()
und initRecyclerView()
, wie füge ich ein neues Element in der RecyclerView??
Kommentar zu dem Problem - Öffnen
Sie können finden Sie unter in diesem Beispiel in Github Glücklich-code!!!
InformationsquelleAutor der Frage Shubham Kanodia | 2015-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie zunächst Ihren Artikel zu
mItems
und dann verwenden:als ist besser als mit:
in der Leistung.
InformationsquelleAutor der Antwort Mostafa
einfach hinzufügen, um Ihre Daten-Struktur ( mItems ) , und Benachrichtigen Sie Ihren adapter über dataset ändern
InformationsquelleAutor der Antwort Abdelrahman Elkady
wenn Sie das hinzufügen mehrerer Elemente der Liste verwenden:
Diese Benachrichtigung der registrierten Beobachter, dass die derzeit spiegelt sich itemCount Elementen ab positionStart wurden neu eingefügt. Das Element zuvor befindet sich auf positionStart und darüber hinaus können nun gefunden werden, beginnend an position positinStart+itemCount
vorhandenes Element in der dataset-noch immer als up-to-date.
InformationsquelleAutor der Antwort Nitin Anand
InformationsquelleAutor der Antwort Syed Shahzad Asgher