recyclerview最简单实现条目加载和点击
2017-09-27 19:06
477 查看
package com.baway.admin.recyclerview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private RecyclerView rc_view; private List<String> list; ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到RecyclerView控件 rc_view = (RecyclerView) findViewById(R.id.rc_view); initRV(); } private void initRV() { //初始化数据的方法 initData(); //定义一个listview的管理器 LinearLayoutManager manager=new LinearLayoutManager(this); //绑定到管理器 rc_view.setLayoutManager(manager); //关联一个适配器 MyAdapter adapter=new MyAdapter(); //绑定适配器 rc_view.setAdapter(adapter); //定义一个条目点击事件 adapter.setOnItemClickListener(new OnItemClickListener() { @Override public void OnItemClickListener(View view, int position) { Toast.makeText(MainActivity.this, "您点击了第" + position+"个", Toast.LENGTH_SHORT).show(); //list.remove(position); //list.remove(list.remove(position)); } }); } //初始化数据 private void initData() { list = new ArrayList<>(); for (int i = 0; i < 50; i++) { list.add("item"+i); } } //创建一个RecyclerView的适配器泛型别忘了加 class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{ OnItemClickListener listener; public void setOnItemClickListener(OnItemClickListener listener){ this.listener=listener; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(MainActivity.this,R.layout.item,null); MyViewHolder holder=new MyViewHolder(view); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.OnItemClickListener(v, (int)v.getTag()); } }); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(list.get(position)); holder.itemView.setTag(position); } @Override public int getItemCount() { //做一个非空判断 return list==null ? 0 < a4f8 /span>: list.size(); } //定义一个MyViewHolder继承RecyclerView下的ViewHolder class MyViewHolder extends RecyclerView.ViewHolder{ TextView tv; public MyViewHolder(View itemView) { super(itemView); tv= itemView.findViewById(R.id.tv); } } } //条目点击时要用到 public interface OnItemClickListener{ public void OnItemClickListener(View view,int position); } } 效果图如下:
相关文章推荐
- MVP实现Recyclerview加Springview上拉加载下拉刷新点击条目可跳转到购物车
- RecyclerView实现分割线、点击事件、条目加载动画
- mvp+retrofit+rxjava xrecyclerview实现多条目 下拉刷新 下拉加载 点击跳转
- 关于Webview在RecyclerView的第一个条目中,第一次加载时点击回顶部的问题
- Android XRecyclerView简单实现上拉刷新,下拉加载
- Android XRecyclerView(多条目加载实现)
- 简单利用RecyclerView实现ListView的点击事件
- RecyclerView的简单使用,实现下拉刷新、上拉加载
- mvp 结合recycleview,简单实现条目点击时间,轮播图bannner的基本操作
- 简单实现WaveSwipeRefreshLayout+RecyclerView的上拉加载下拉刷新的功能
- 非常简单实现底部导航栏中用RecyclerView实现轮播图(广告栏)(可点击)+列表子项
- Android中Recyclerview使用6----添加条目得到点击事件和长按事件(另一种写法,较简单)
- Android RecyclerView加载不同布局简单实现
- RecyclerView实现上拉刷新,下拉加载,item点击事件
- RecyclerView简单实现预加载(笔记)
- Android中RecyclerView点击item展开列表详细内容(超简单实现)
- RecyclerView 条目点击事件 XRecyclerView刷新加载
- 接口回调实现RecyclerView的条目点击事件
- RecyclerView 超简单item点击实现
- RecyclerView加载不同item并实现其item点击事件,实现添加常用应用的功能