reyclerView的item点击刷新
来源:互联网 发布:视频剪辑软件格式工厂 编辑:程序博客网 时间:2024/06/07 09:09
xml
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/user_selector_item_default" android:orientation="horizontal" android:padding="15dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="油品" android:maxEms="4" android:layout_marginRight="10dp" android:textSize="14sp"/> <android.support.v7.widget.RecyclerView android:id="@+id/rv_gas" android:layout_width="match_parent" android:layout_height="wrap_content" tools:listitem="@layout/item_gas"/></LinearLayout>
adapter
public class GasTypeAdapter extends RecyclerView.Adapter<GasTypeAdapter.GasTypeHolder> { private static final int LAYOUT_ID = R.layout.item_gas; public List<String> dataList; private Context context; public GasTypeAdapter(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; dataList = new ArrayList<>(); } public OnItemClickListener onItemClickListener; @Override public GasTypeHolder onCreateViewHolder(ViewGroup parent, int viewType) { context = parent.getContext(); View rootView = View.inflate(context, LAYOUT_ID, null); return new GasTypeHolder(rootView); } @Override public void onBindViewHolder(GasTypeHolder holder, int position) { holder.setData(context, dataList.get(position), position); } @Override public int getItemCount() { return dataList.size(); } public void addAll(List<String> dataList) { this.dataList.addAll(dataList); notifyDataSetChanged(); } public void clear() { this.dataList.clear(); notifyDataSetChanged(); } public List<String> getAll() { return this.dataList; } public void notifyDataChange(int position){ clearSelection(position); notifyDataSetChanged(); } private int selectedPos = 0; public void clearSelection(int pos) { selectedPos = pos; } class GasTypeHolder extends RecyclerView.ViewHolder { private TextView tv_type; private View.OnClickListener onClickListener = new View.OnClickListener() { @Override public void onClick(View view) { if(onItemClickListener != null){ notifyDataChange(getAdapterPosition()); onItemClickListener.onItemClickListener(view,getAdapterPosition()); } } }; public GasTypeHolder(View itemView) { super(itemView); itemView.setOnClickListener(onClickListener); tv_type = (TextView) itemView.findViewById(R.id.tv_type); } public void setData(final Context context, final String str, int position) { if (str == null) { return; } if (selectedPos == position) { tv_type.setSelected(true); }else{ tv_type.setSelected(false); } tv_type.setText(str); } }}
activity
private RecyclerView rvGas; private GasTypeAdapter gasTypeAdapter; rvGas = (RecyclerView) findViewById(R.id.rv_gas); rvGas.setLayoutManager(new GridLayoutManager(this, 3)); rvGas.setNestedScrollingEnabled(false); gasTypeAdapter = new GasTypeAdapter(onItemClickListener); rvGas.setAdapter(gasTypeAdapter); List<String> dataList = new ArrayList<>(); dataList.add("92#"); dataList.add("93#"); dataList.add("95#"); dataList.add("98#"); dataList.add("0#"); gasTypeAdapter.addAll(dataList); private OnItemClickListener onItemClickListener = new OnItemClickListener() { @Override public void onItemClickListener(View view, int position) { //油品 }};
0 0
- reyclerView的item点击刷新
- reyclerView
- 下拉刷新的ScrollView 不影响item点击事件
- 监听TabBar点击事件 使系统tabar的item 点击刷新页面 swift版
- RecyclerView Item置顶的优雅解决方案(点击置顶、刷新置顶等)
- Recyclerview或Listview实时刷新,item点击事件失效的解决方法
- 布局里嵌套GridView,一直疯狂刷新日志,导致GridView的item条目点击无效
- XLRecyclerView的列表下拉刷新、上拉刷新、预加载、设置EmptyView、Item点击和长按事件
- ListView的Item点击效果
- ListView 的 item 点击效果
- RecyclerView Item 的点击事件
- ListView的item点击事件
- 获取ListView点击的Item
- ListView的item点击问题
- RecyclerView的item点击事件
- gridView的item点击事件
- RecycleView的Item点击事件
- RecyclerView的item点击事件
- js实现获取两个日期之间所有日期最简单的方法
- 前端开源项目周报0425
- ios 字典enumerateKeysAndObjectsUsingBlock遍历
- git拉取远程分支并创建本地分支
- MyBatis 动态 SQL 底层原理分析
- reyclerView的item点击刷新
- AndroidStudio 自定义配置
- 关于java中cache的内容
- 未完成题目
- 关于i++和++i的区别和总结
- Yii controller控制器下设置对于用户没有登录的请求跳转至指定URL的方法
- 短小视频网站sexcms源码 安装搭建环境加采集教程 有手机和PC演示站 linux下安装一片空白的解决linux下安装一片空白的解决
- leetcode 561. Array Partition I
- js正则表达式提取汉字