viewholder tutorial recyclerview que item implement delete android add android-recyclerview items

android - tutorial - ¿Agregar un nuevo elemento a la vista de reciclaje mediante programación?



recyclerview delete item android (3)

Primero agregue su artículo a mItems y luego use:

mAdapter.notifyItemInserted(mItems.size() - 1);

este método es mejor que usar:

mAdapter.notifyDataSetChanged();

en el rendimiento

Todavía estoy tratando de entender la vista del reciclador. Tengo una lista de matrices, que uso para inicializar una vista de reciclador.

¿Cómo puedo agregar nuevos elementos a la vista de reciclador después de configurar un adaptador y un administrador de diseño?

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); } }

Entonces, básicamente, después de initdata() y initRecyclerView() , ¿cómo agrego un nuevo elemento a RecyclerView?


si está agregando varios elementos a la lista, use esto:

mAdapter.notifyItemRangeInserted(startPosition, itemcount);

Esto notificará a los observadores registrados que los ítems actualmente contabilizados reflejados que comienzan en positionStart han sido nuevamente insertados. El elemento previamente ubicado en positionStart y más allá ahora se puede encontrar comenzando en position positinStart + itemCount

elemento existente en el conjunto de datos aún considerado actualizado.


simplemente agregue a su estructura de datos (mItems) y luego notifique a su adaptador sobre el cambio del conjunto de datos

private void addItem(String item) { mItems.add(item); mAdapter.notifyDataSetChanged(); } addItem("New Item");