SimpleRecycler

Github传送门:SimpleRecycle on Github

step:

  1. 在工程目录的com.eric.simple.component下找到SimpleRecyclerAdapter & SimpleViewHolder;
  2. 把这两个文件放到自己的工程中(放到哪个位置自定义);
  3. RecyclerView的adapter继承SimpleRecyclerAdapter并在泛型处传入数据类;
  4. 仅在bindData中使用helper来操作每一个item;
    ps. 这里的helper是一个链式调用。helper即是SimpleViewHolder。当前这个demo中只封装了一些常用的方法。
    比如:设置可见性、设置文字、设置文字颜色、设置图片、点击、长按、通过id获取view等。若需要别的方法,可自行添加。

Adapter写法

public class TestAdapter extends SimpleRecyclerAdapter<String> {    public TestAdapter(List<String> list) {        super(R.layout.item_test, list);    }    @Override    protected void bindData(SimpleViewHolder helper, String item) {        helper.setText(R.id.tv_test_item, item)                .addClickListener(R.id.tv_test_item) // 设置子项的点击事件监听                .addLongClickListener(R.id.tv_test_item) // 设置子项的长按事件监听                .getView(R.id.tv_test_item);    }}

Activity中的recyclerView

public class MainActivity extends AppCompatActivity {    private RecyclerView rvMain;    private TestAdapter testAdapter;    private ArrayList<String> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        rvMain = findViewById(R.id.rvMain);        initRecycler();        initEvent();        loadData();    }    private void initRecycler() {        list = new ArrayList<>();        rvMain.setLayoutManager(new LinearLayoutManager(this));        testAdapter = new TestAdapter(list);        // 绑定RecyclerView        testAdapter.bindRecyclerView(rvMain);    }    private void initEvent() {        // item 设置点击监听        testAdapter.setOnItemClickListener(new SimpleRecyclerAdapter.OnItemClickListener() {            @Override            public void onClick(View v, int position) {                // item 点击监听回调                Toast.makeText(MainActivity.this, "item"+position, Toast.LENGTH_SHORT).show();            }        });        // 子项设置点击监听        testAdapter.setOnSubViewClickListener(new SimpleRecyclerAdapter.OnSubViewClickListener() {            @Override            public void onClick(View v, int position) {                // 子项点击监听回调                Toast.makeText(MainActivity.this, "sub item"+position, Toast.LENGTH_SHORT).show();            }        });    }    private void loadData() {        for (int i = 0; i < 20; i++) {            list.add("文字是sub item "+i);        }        testAdapter.notifyDataSetChanged();    }}

最后
方法不止一种,这样地操作方式,这只是我的一种思考。

更多相关文章

  1. LinearLayout布局之weight
  2. Android(安卓)Studio 解决方法No JVM installation found. Pleas
  3. [Android] ImageView.ScaleType设置图解
  4. 2011.12.05——— android 关于PopUpWindow的setFocusable
  5. Android(安卓)DownloadManager下载完成事件监听(系列4)
  6. Android点击监听事件
  7. Android配置----Eclipse+BlueStacks调试Android应用
  8. android dialog
  9. EditText 属性

随机推荐

  1. Android(安卓)java.lang.IllegalArgument
  2. android ExpandableListView的下拉刷新实
  3. Android菜鸟日记15-传感器与摄像头
  4. Android(安卓)Action使用实例
  5. android适配器:ArrayAdapter
  6. SystemServer 分析
  7. Android(安卓)NDK学习(5)调用.so文件
  8. 深入浅出Android(安卓)Support Annotatio
  9. as报错
  10. Android删除Alarm的方法