说明:
RecyclerView属于android.support.v7.widget包下的控件,内部继承ViewGroup,类似于ListView和GridView,需要设置布局管理器,并继承RecyclerView.Adapter,重写onCreateViewHolder方法创建自已的ViewHolder,并查找相应的控件引用,重写onBindViewHolder方法为控件设置数据显示。
布局管理器:
LinearLayoutManager性线布局管理器,用于实现类似于ListView的效果
GridLayoutManager网格布局管理器,用于实现类似于GridView的效果
StaggeredGridLayoutManager用于实现瀑布流效果,每个item宽高可以不同。
RecyclerView属于android.support.v7.widget包下的控件,内部继承ViewGroup,类似于ListView和GridView,需要设置布局管理器,并继承RecyclerView.Adapter,重写onCreateViewHolder方法创建自已的ViewHolder,并查找相应的控件引用,重写onBindViewHolder方法为控件设置数据显示。
布局管理器:
LinearLayoutManager性线布局管理器,用于实现类似于ListView的效果
GridLayoutManager网格布局管理器,用于实现类似于GridView的效果
StaggeredGridLayoutManager用于实现瀑布流效果,每个item宽高可以不同。
使用:
1.RecyclerViewActivity,用于显示列表页面:
public class RecyclerViewActivity extends FragmentActivity implements MyAdapter.OnItemClickLitener {
private MyAdapter mAdapter;
private RecyclerView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recyclerview);
initView();
initData();
mAdapter.notifyDataSetChanged();
}
private void initData() {
MyData data = null;
for (int i = 0; i < 100; i++) {
data = new MyData();
if (i == 5 || i == 8 || i == 10 || i == 22 || i == 25) {
data.type = 2;
data.icon = R.mipmap.ic_launcher;
} else {
data.type = 1;
data.text = "第" + i + "个";
}
mAdapter.dataList