转载请注明出处:王亟亟的大牛之路
开场先介绍下为什么使用RecyclerView,以及一些简单的理论知识
Q:为什么使用RecyclerView?
A: 一个非常灵活的用于在有限的窗口范围内显示大量数据的控件。Q:使用RecyclerView的好处是什么?
A:提供了一种插拔式的体验,高度的解耦,异常的灵活Q:RecyclerView可以实现什么?
A:ListView、GridView、瀑布效果等等等,并且性能优异!
OK,理论知识大致的介绍到这里,更多内容我们在代码中实现。
上一篇文章,我们是用一个CodeAdapter extends BaseAdapter来实现我们的适配器,而RecyclerView是另一种不同的实现,代码如下。
public class CodeActivity extends Son {
private RecyclerView mRecyclerView;
private RecyclerView.LayoutManager mLayoutManager;
private CodeAdapter adapter;
ToastUtils toastUtils;
LogicJumpTo logicJumpTo;
@Override
public int getLayout() {
LogUtils.d("--->CodeActivity getLayout");
return R.layout.activity_code;
}
@Override
public void init() {
toastUtils = ToastUtils.getInstance();
logicJumpTo = LogicJumpTo.getInstance();
//创建默认的线性LayoutManager
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
//如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
mRecyclerView.setHasFixedSize(true);
adapter = new CodeAdapter(getResources().getStringArray(R.array.codeArray));
mRecyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(new CodeAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, String data) {
toastUtils.show(CodeActivity.this