我在Android RecyclerView
上显示项目,我希望能够选择任何项目,并将其放在列表的最后。我知道如何添加或删除项目,但我正在寻找最简单的方法来实现此目的。Android RecyclerView将项目移动到视图结尾
如果可能的话,我也在寻找一种动画,当它下山时,它会显示飞越其他人的动画。
这里是我的adapter
:
public class DiscoverViewAdapter extends RecyclerView.Adapter<DiscoverViewAdapter.ViewHolder> {
private List<DiscoveredUser> _items;
public DiscoverViewAdapter(List<DiscoveredUser> items) {
this._items = items;
}
public static class ViewHolder extends RecyclerView.ViewHolder
{
TextView userName;
TextView userAge;
TextView userDescription;
public ViewHolder(View itemView)
{
super(itemView);
userName = (TextView) itemView.findViewById(R.id.user_name);
userAge = (TextView) itemView.findViewById(R.id.user_age);
userDescription = (TextView) itemView.findViewById(R.id.user_description);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.user_discover_row, viewGroup, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
DiscoveredUser user = _items.get(i);
viewHolder.userName.setText(user.getUsername());
viewHolder.userAge.setText(Integer.toString(user.getAge()));
viewHolder.userDescription.setText(user.getDescription());
}
@Override
public int getItemCount() {
return _items.size();
}
public void remove(int position) {
//_items.remove(position);
//notifyItemRemoved(position);
}
public void add(DiscoveredUser user, int position) {
_items.add(position, user);
notifyItemInserted(position);
}
public void addMultiple(DiscoveredUser[] users){
final int size = users.length;
for (DiscoveredUser user : users) {
_items.add(0, user);
}
notifyItemRangeInserted(0, size);
}
}
我应该使用什么方法重新加载RecyclerView? 其中之一? 'notifyItemChanged(INT) notifyItemInserted(INT) notifyItemRemoved(INT) notifyItemRangeChanged(INT,INT) notifyItemRangeInserted(INT,INT) notifyItemRangeRemoved(INT,INT)' – FrenchFalcon
使用adapter.notifyDataSetChanged()的http:// stackoverflow.com/a/2919808/2792899 –
我没有使用listview,从简单的'Listview'更新和通知'RecyclerView'differ的方法 – FrenchFalcon