RecyclerView的基本用法(第一行代码android学习笔记)
来源:互联网 发布:qq三国自动打怪源码 编辑:程序博客网 时间:2024/06/01 09:48
首先在build.guide中添加代码:compile 'com.android.support.support:recyclerview-v7:(Android API版本 如26.0.0 )'
然后在布局中应用:
<LinearLayout ........../>
<android.support.v7.widget.RecyclerView
android:id=...
//长宽等各种属性
/>
</LinearLayout>
用RecyclerView实现和ListView相同的效果,首先要为RecyclerView准备一个适配器,假如是要实现水果图标和名称的显示,则命名适配器为FruitAdapter,它继承自RecyclerView.Adapter,并且把泛型定为<FruitAdapter.ViewHolder>
代码:
public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder>{
private List<Fruit> mFruitList;
//定义一个静态的内部类ViewHolder继承自RecyclerView.ViewHolder,并且重写它的构造方法
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView fruitimage;
TextView fruitname;
public ViewHolder(View view){
super(view);
fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
fruitName = (TextView) view.findViewById(R.id.fruit_name);
}
}
public FruiAdapter(List<Fruit> fruitList){
mFruitList = fruitList;
}
//重写方法OnCreateViewHolder,onBindViewHolder,getItemCount
@Override
public ViewHolder OnCreateViewHolder(ViewGroup parent,int view Type){
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fruit_item,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder,int positon){
Fruit fruit = mFruitList.get(position);
holder.fruitImage.setImageResource(fruit.getImageId());
holder.fruitName.setText(fruit.getName());
}
@Override
public int getItemCount(){
return mFruitList.size();
}
}
实现RecyclerView,
private List<Fruit> fruitList = new ArrayList<>();
@Override
protected void onCreate(Bundle saveInstanceState){
...
initFruits();//初始化水果数据
RecyclerView recyclerview = (RecyclerView) findViewById(R.id.recycler_view);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
recyclerview.setLayoutManager(layoutManager);
FruitAdapter adapter = new FruitAdapter(fruitList);
recyclerview.setAdapter(adapter);
}
private void initFruits(){
for(int i = 0; i < 2; i++){
Fruit apple = new Fruit("Apple",picture_apple);
fruitList.add(apple);
....
}
}
- RecyclerView的基本用法(第一行代码android学习笔记)
- 《第一行代码》学习笔记之通知的基本用法
- 第一行代码--android学习笔记1-----活动的基本用法
- ListView的用法 - 第一行代码—android学习笔记
- 《第一行代码》RecyclerView学习笔记
- 第一行代码笔记 service基本用法
- 第一行代码笔记9(通知的基本用法)
- 《第一行代码》自学笔记-活动的基本用法
- 《第一行代码》自学笔记-ListView的基本用法
- 第一行代码学习笔记-第二章 探究活动-1.活动的基本用法
- Android第一行代码学习笔记总结
- 《Android第一行代码》学习笔记
- 《Android第一行代码》学习笔记
- FrameLayout《第一行代码Android》学习笔记
- Android第一行代码学习笔记
- Android学习笔记_《第一行代码》
- 《第一行代码》Android 学习笔记
- 《第一行代码 Android》学习笔记1
- 初窥nodejs(一)
- java颜色对照表
- SpringMVC: can be found for element 'mvc:annotation-driven'
- Unix—read & write
- ES6--数值的扩展
- RecyclerView的基本用法(第一行代码android学习笔记)
- Eclipse中文乱码问题
- SQL Server 触发器讲解
- 4G内存
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十二) kibana 界面使用简介
- Spring 源码分析-整体架构解读
- spring解决硬编码的一种方式@Value
- B+Tree
- c 语言 malloch函数与free函数