java – Android:反转RecyclerView的位置
发布时间:2020-12-15 04:33:44 所属栏目:Java 来源:网络整理
导读:我正在设置一个像列表一样的RecyclerView,我想在列表底部有一个按钮,当点击时添加更多视图,我认为更简单的方法是将位置0作为第一个位于在底部,并将位置增加到顶部,因此我可以在单击位置0中的视图时添加视图. 如果对这个问题有更好的方法,请分享. 这是我的适
我正在设置一个像列表一样的RecyclerView,我想在列表底部有一个按钮,当点击时添加更多视图,我认为更简单的方法是将位置0作为第一个位于在底部,并将位置增加到顶部,因此我可以在单击位置0中的视图时添加视图.
如果对这个问题有更好的方法,请分享. 这是我的适配器: public class AddEventsAdapter extends RecyclerView.Adapter<AddEventsAdapter.ViewHolder> { public List<String> items = new ArrayList<>(); public void addItem(String name) { notifyItemInserted(items.size() - 1); items.add(name); } public void removeItem(int position) { items.remove(position); notifyItemRemoved(position); notifyItemRangeChanged(position,items.size()); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.add_event_item,parent,false); return new ViewHolder(view); } @Override public int getItemCount() { return items.size(); } @Override public void onBindViewHolder(ViewHolder holder,int position) { holder.setData(position); holder.eventName.setText(i + ""); if(position == 0) { holder.theLayout.setBackgroundColor(Color.parseColor("#7F9099")); holder.eventName.setText("Add"); } } static int i; class ViewHolder extends RecyclerView.ViewHolder{ public TextView eventName; public RelativeLayout theLayout; public ViewHolder(final View itemView) { super(itemView); eventName = (TextView)itemView.findViewById(R.id.eventName); theLayout = (RelativeLayout)itemView.findViewById(R.id.backgroundevent); theLayout.setId(++i); } public void setData(final int position) { theLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (position == items.size() - 1) { addItem(""); } else { removeItem(position); } } }); } } } 您可能会注意到一些错误,我在过去的10个小时内已经完成了这个错误,而且我遇到了逻辑故障 解决方法
它通过addind这行解决了LayoutManager .setReverseLayout(true);
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |