我有一个recyclerview,里面装有物品,插入新物品时它的动画效果很好。但是经过一定数量的列表后,视图被下推了,我只看到旧项目。目前,我必须向上滚动以每次查看添加的项目。可以说我的recyclerview中有10个项目,当我添加新项目时,屏幕已满...我看到相同的10个项目,必须向上滚动才能看到新项目。我如何始终获得列表的顶视图?
@NonNull
@Override
public DashboardHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_item,parent,false);
return new DashboardHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull DashboardHolder holder, int position) {
Expense currentExpense = getItem(position);
holder.title.setText(currentExpense.getTitle());
holder.description.setText(currentExpense.getDescription());
holder.amount.setText(String.valueOf(currentExpense.getAmount()));
}
class DashboardHolder extends RecyclerView.ViewHolder {
private TextView title;
private TextView description;
private TextView amount;
public DashboardHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.text_expense_title);
description = itemView.findViewById(R.id.text_expense_description);
amount = itemView.findViewById(R.id.text_expense_amount);
}
}```
[1]: https://i.stack.imgur.com/093f8.jpg
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this);
layoutManager.setReverseLayout(true);
recyclerView.setLayoutManager(layoutManager);
用于反转项目遍历和布局顺序。
也许您想测试:layoutManager.setStackFromEnd(true);
列表将从视图底部开始填充其内容。
或者也许您需要使用recyclerView.scrollToPosition(position);