Saya masih mencoba untuk fokus pada recyclerview. Saya memiliki daftar larik, yang saya gunakan untuk menginisialisasi tampilan pendaur ulang.
Bagaimana saya bisa menambahkan item baru ke recycler view post mengatur adaptor dan 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);
}
}
Jadi pada dasarnya setelah I initdata()
dan initRecyclerView()
, bagaimana cara menambahkan item baru ke RecyclerView ??
android
add
android-recyclerview
items
Shubham Kanodia
sumber
sumber
Jawaban:
Pertama tambahkan item Anda ke
mItems
dan kemudian gunakan:metode ini lebih baik daripada menggunakan:
dalam performa.
sumber
cukup tambahkan ke struktur data Anda (mItems), lalu beri tahu adaptor Anda tentang perubahan set data
sumber
ArrayList<T>
harus menggunakan jenis objek yang ingin Anda tambahkan, misalnya,ArrayList<ViewGroup>
bukanArrayList<String>
. Kemudian Anda bisa mengubah tipe argumen dariString
menjadiViewGroup
. (Maaf untuk necro).jika Anda menambahkan beberapa item ke daftar gunakan ini:
Ini memberi tahu setiap pengamat terdaftar bahwa item itemCount yang saat ini direfleksikan mulai dari positionStart baru saja dimasukkan. Item yang sebelumnya terletak di positionStart dan seterusnya sekarang dapat ditemukan mulai dari position positinStart + itemCount
item yang ada dalam dataset masih dianggap up to date.
sumber