您的位置:首页 > 其它

RecyclerView方便自己使用

2017-09-20 21:03 197 查看
添加依赖
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
//RecyclerView的适配器
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
//声明变量
private Context context;
private List<?> list = new ArrayList<>();
//构造方法
public MyAdapter(Context context, List<?> list) {
this.context = context;
this.list = list;
}

@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//加载布局
View view = LayoutInflater.from(context).inflate("要加载的布局",parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}

@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
//给控件赋值的操作

}

@Override
public int getItemCount() {
return list== null?0:list.size();//返回条目数
}

public class ViewHolder extends RecyclerView.ViewHolder{
//布局中的控件
public ImageView imageView;

public ViewHolder(View itemView) {
super(itemView);
//初始化控件控件
            imageView = (ImageView)itemView.findViewById(R.id.img);
}
}
}

//MainActivity的代码
public class MainActivity extends AppCompatActivity {

private RecyclerView recyclerView;
private List<?> list = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
recyclerView = (RecyclerView) findViewById(R.id.my_recycler);
//设置瀑布流的展示
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
//默认布局
//LinearLayoutManager manager = new LinearLayoutManager(MainActivity.this);
//GridView样式
//GridLayoutManager grid = new GridLayoutManager(MainActivity.this,2);
recyclerView.setLayoutManager(manager); //设置适配器
recyclerView.setAdapter(new MyAdapter(MainActivity.this,this));
    }}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: