您的位置:首页 > 移动开发 > Android开发

第一行代码+Android+第2版 笔记第三天

2017-06-28 17:31 337 查看
ArrayAdapter:它可以通过泛型来指定要适配的数据类型,然后再构造函数中把要适配的数据传入。

 

ArrayAdapter的构造函数中依次传入1当前上下文2ListView子项布局的id3要适配的数据;

 

只显示一段文本的ListView构建方法:

android.R.layout.simple_list_item_1:

作为ListView子项布局的id->是Android内置的布局文件:

里面只有一个TextView,可用于简单的显示一段文本;

 

调用ListView的setAdapter()方法:将构建好的适配器对象传递进去;->ListView和数据之间的关联就建立完成了;

 

定制ListView的界面:

 

getView()中有一个convertView参数:将之前加载好的布局进行缓存->以便之后可以重用;

新增内部类ViewHolder:对控件的实例进行缓存;->没有必要每次都要通过findViewById()方法来获取控件实例了

 

ListView的点击事件:->onItemClick()

 

更强大的滚动控件:RecyclerView->增强版的ListView

RecyclerView:不是内置在系统SDK中,所以要把完整的包路径写出来

 

onCreateViewHolder()方法:用于创建ViewHolder实例;

onBindViewHolder()方法:用于对RecyclerView子项的数据进行赋值的,会在每个子项滚动到屏幕内的时候执行;

getItemCount()方法:用于高速RecyclerView一共有多少子项,直接返回数据源的长度;

 

LayoutManager用于指定RecyclerView的布局方式;

LinearLayoutManager是线性布局;setOrientation()方法:设置布局的排列方向;

RecyclerView的setAdapter()方法:完成适配器设置

 

实现横向滚动和瀑布流布局

ListView只能实现纵向滚动,扩展性也不好;RecyclerView可以;

 

layout_marginTop属性:让文字和图片之间保持一些距离;

GridLayoutManager:网格布局;

StaggeredGridLayoutManager:瀑布流布局;

 

StaggeredGridLayoutManager的构造函数接收两个参数:1指定布局的列数;2指定布局的排列方向;

把创建好的实例设置到RecyclerView中就可以了;

 

RecyclerView的点击事件:

在ViewHolder中添加fruitView变量:保存子项最外层布局的实例;

在onCreateViewHolder()方法中注册点击事件->viewHolder.fruitView.setOnClickListener(newOnClickListener(){});

 

RecyclerView用于显示聊天的消息内容;

EditText用于输入消息;

Button用于发送消息;

 

 

 

 

微信:yc616671553

 

领取

第一行代码+Android+第2版
PDF版本

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: