摘自RecycyclerView使用完全指南
附上自己一直没掌握的东西:如何找到activity_main.xml233
应该在创建的时候把它设置为主布局,默认命名为这个,然后所有的布局文件都在app/src/main/res/layout下...
然后是每次把它改成线性布局的代码。。。
<LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
干啥?
- 设置LayoutManager控制item的布局方式,横向,竖向,瀑布流。
e.g
mRecyclerView=(RecyclerView)findViewById(R.id.my_recycler_view);
//设置布局管理器
mRecycyclerView.setLayoutManager(mLayoutManager);
emm,我有两个疑惑先放着,一个是,recyclerview的id是哪设置的呢,在哪找呢?另一个是,set方法传入的参数是?
- 设置item操作的动画(删或加)
e.g
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
然后,传入参数代表?
- 设置item的间隔样式
mRecyclerView.addItemDecoration(mDividerItemDecoration);
- item的点击和长按事件
使用前
必需指定一个适配器和布局管理器
Adapter extends RecyclerView.Adapter.具体实现取决于数据信息和UI
LayoutManager 确定item的展示方式及何时复用不可见的item(什么意思?)
LinearLayoutManager
GridLayoutManager
StaggeredGridLayoutManager
使用
- 导包
compile 'com.android.support:recyclerview-v7:+'//或者改成对应小版本把,如v7:23.4.0
- Activity
public class MDActivity extends MDBaseActivity{
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
//新建对象的引用变量,后面写在一起是一样的,主要想说明下要指定个适配器和布局管理器
}
@Override
//重写父类的构造方法,好像都有super.这玩意
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rv);//似乎是加载布局
initData();
initView();
}
//好奇?什么东西要写在onCreate方法里呢???
private void initData(){
mLayoutManager=new LinearLayoutManager(this,LinearlAYOUTmANAGER.VERTICAL,false);
//不明白为什么要在initdata里创建layoutmanager的对象,都可以用?
//然后false什么意思?
mAdapter=new Myadapter(getData());
//为什么要在initData里写这个?myadapter是哪来的?
}
private void initView(){
mRecyclerView=(RecyclerView)findViewById(R.id.my_recycler_view);
//设置布局管理器了
mRecyclerView.setLayoutManager(mLayoutManager)'
//设置adapter
mRecyclerView.setAdapter(mAdapter);
}
草草了事....因为这篇blog没有手把手地教敲代码,然后我放弃了它.....