Ainda estou tentando entender a visão da reciclagem. Eu tenho um arraylist, que uso para inicializar uma visualização do reciclador.
Como posso adicionar novos itens ao post de visualização do reciclador configurando um adaptador e gerenciador de layout?
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);
}
}
Então, basicamente, depois de I initdata()
e initRecyclerView()
, como adiciono um novo item ao RecyclerView ??
android
add
android-recyclerview
items
Shubham Kanodia
fonte
fonte
Respostas:
Primeiro adicione seu item
mItems
e, em seguida, use:este método é melhor do que usar:
no desempenho.
fonte
basta adicionar à sua estrutura de dados (mItems) e, em seguida, notificar seu adaptador sobre a alteração do conjunto de dados
fonte
ArrayList<T>
teria que usar o tipo de objeto que deseja adicionar, por exemplo, emArrayList<ViewGroup>
vez deArrayList<String>
. Em seguida, você pode apenas alterar o tipo de argumento deString
paraViewGroup
. (Desculpem o necro).se você estiver adicionando vários itens à lista, use isto:
Isso notifica qualquer observador registrado de que os itens itemCount refletidos no momento, começando em positionStart, foram inseridos recentemente. O item anteriormente localizado em positionStart e além agora pode ser encontrado começando na posição positinStart + itemCount
item existente no conjunto de dados ainda considerado atualizado.
fonte