Android7.0RecyclerView用法解析
来源:互联网 发布:网络摄像头修改密码 编辑:程序博客网 时间:2024/06/11 09:27
RecyclerView 是ListView的增强版,优化了ListView的一些内存,样式问题。
基本用法
1.在app/build.gradle文件中加入
dependencies{ compile 'com.android.support:recycleview-v7:24.2.1'}
2.点击Sync Now 同步一下
3.在xml文件中调用
<android.suppoert.v7.widget.RecyclerView android:id="@+id/recycle" android:layout_width="match_parent" android:layout_height="match_parent"/>
4.内容类(适配器)
package com.treeanimals.max.tecent;import android.media.Image;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import java.util.List;import ll.aidl.*;/** * Created by 95112 on 9/7/2017. */public class BookAdapter extends RecyclerView.Adapter<BookAdapter.ViewHolder> {//首先新建一个 Adaper类,继承RecyclerView.Adapter private List<Book> bookList;//内容类列表 public class ViewHolder extends RecyclerView.ViewHolder//定义了一个内部类 ViewHolder { ImageView bookImage; TextView bookName; public ViewHolder(View itemView) { //ViewHolder的构造参数需要传入一个View参数,这个布局包含ImageView和 TextView super(itemView); bookImage = (ImageView) itemView.findViewById(R.id.bookImage); bookName = (TextView)itemView.findViewById(R.id.bookName); } } public BookAdapter(List<Book> bookList) {//BookAdapter 构造传递函数需要传递一个 list this.bookList = bookList; } //然后重写 onCreateBiewHolder(),onBindViewHolder() 和getItemCount()三个方法 //onCreateViewHolder用于创建BiewHolder实例 @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.book_layout,parent,false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; }//onBindViewHolder用于对RecyclerView子项进行复制,会在每个子项被滚动到屏幕内的时候执行。 @Override public void onBindViewHolder(ViewHolder holder, int position) { Book book = bookList.get(position); holder.bookImage.setImageResource(book.getImageId()); holder.bookName.setText(book.getName()); }//告诉RecyclerView一共有多少子项。 @Override public int getItemCount() { return bookList.size(); }}
5.使用
package com.treeanimals.max.tecent;import android.app.Activity;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.widget.ListView;import java.util.ArrayList;import java.util.List;/** * Created by 95112 on 9/7/2017. */public class RecycleActivity extends Activity { private List<Book> bookList = new ArrayList<>(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initBook(); RecyclerView recyclerView = (RecyclerView)findViewById(R.id.recyclerview); LinearLayoutManager layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); BookAdapter adapter = new BookAdapter(bookList); recyclerView.setAdapter(adapter); } private void initBook() { Book book1 = new Book("《如何成为技术大牛》",R.drawable.ic_dashboard_black_24dp); bookList.add(book1); Book book2 = new Book("《如何成为技术大牛》",R.drawable.ic_dashboard_black_24dp); bookList.add(book2); Book book3 = new Book("《如何成为技术大牛》",R.drawable.ic_dashboard_black_24dp); bookList.add(book3); }}
阅读全文
0 0
- Android7.0RecyclerView用法解析
- RecyclerView用法基本解析
- Android7.0解析Init.rc文件
- Android7.0解析包异常解决办法
- android7.0
- Android7.0 自动更新适配,包解析异常
- RecyclerView 解析
- RecyclerView 解析
- RecyclerView 解析
- RecyclerView解析
- RecyclerView解析
- RecyclerView解析
- RecyclerView用法
- Android7.0新特性
- Android7.0官方Samples
- Android7.0 API变更
- Android7.0抢鲜用!!
- Android7.0 MessageQueue
- 【深度学习】谷歌deepdream原理及tensorflow实现
- Laya学习笔记-Sprite-1.7.10
- 使用API扩展应用功能必会的方法
- 【数论】[NOIP2014]螺旋矩阵
- 我的第一篇博客(好紧张)
- Android7.0RecyclerView用法解析
- 为开发者赋能,阿里云大学人才培养再次升级
- 从零开始学Scala(一)——Scala环境搭建与第一行代码
- TensorFlow KeyError: "Couldn't find field google.protobuf.DescriptorProto.ExtensionRange.options"
- java动态代理实现
- 访问https webservice总结
- Android性能优化工具之Debug GPU Overdraw
- Struts中ModelDriven的使用
- IDEA中Lifecycle下命令详解