Todavía estoy tratando de entender la vista del reciclaje. Tengo una lista de matrices, que uso para inicializar una vista de reciclador con.
¿Cómo puedo agregar nuevos elementos a la publicación de la vista del reciclador configurando 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 que yo initdata()
y initRecyclerView()
, ¿cómo agrego un nuevo elemento al RecyclerView?
android
add
android-recyclerview
items
Shubham Kanodia
fuente
fuente
Respuestas:
Primero agregue su artículo
mItems
y luego use:este método es mejor que usar:
en el rendimiento.
fuente
simplemente agregue a su estructura de datos (mItems) y luego notifique a su adaptador sobre el cambio del conjunto de datos
fuente
ArrayList<T>
usar el tipo de objeto que desea agregar, por ejemplo, enArrayList<ViewGroup>
lugar deArrayList<String>
. Entonces puede simplemente cambiar el tipo de argumento deString
aViewGroup
. (Perdón por necro).si está agregando varios elementos a la lista, use esto:
Esto notifica a los observadores registrados que los elementos itemCount reflejados actualmente que comienzan en positionStart se han insertado nuevamente. El elemento anteriormente ubicado en positionStart y más allá ahora se puede encontrar comenzando en la posición positinStart + itemCount
elemento existente en el conjunto de datos aún se considera actualizado.
fuente