View(视图)——ListView之BaseAdapter和SimpleCursorAdapter以及网格视图代码视图
2016-05-21 00:06
537 查看
一.BaseAdapter
1.数据源 List<Object>
一般是放实体类、POJO类,一般只包含私有属性和属性的getter和setter方法。
2.layout:可以用布局,包含多个视图。
3.抽象类:必须要继承并实现4个抽象方法
1-int getCount() 返回数据源的记录数
2-Object getItem(int position) 返回索引对应的数据对象
3-long getItemId(int position) 返回索引对应的数据对象的ID
4-View getView(int position, View convertView, ViewGroup parent) 实现数据与视图的适配,返回装载了数据的视图,convertView 表示可复用的视图。
二.SimpleCursorAdapter
数据源:数据库的查询结果集Cursor(游标)。
三.GridView网格视图:带格子的ListView
.java
1.数据源 List<Object>
一般是放实体类、POJO类,一般只包含私有属性和属性的getter和setter方法。
2.layout:可以用布局,包含多个视图。
3.抽象类:必须要继承并实现4个抽象方法
1-int getCount() 返回数据源的记录数
2-Object getItem(int position) 返回索引对应的数据对象
3-long getItemId(int position) 返回索引对应的数据对象的ID
4-View getView(int position, View convertView, ViewGroup parent) 实现数据与视图的适配,返回装载了数据的视图,convertView 表示可复用的视图。
二.SimpleCursorAdapter
数据源:数据库的查询结果集Cursor(游标)。
三.GridView网格视图:带格子的ListView
package com.example.wang.testapp2; import android.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import java.util.ArrayList; import java.util.List; public class TestActivity10 extends AppCompatActivity { GridView gv_1; List<Integer> liv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test10); GridView gv_1=(GridView)findViewById(R.id.gv_1); //1 数据 图片的id liv =new ArrayList<>(); liv.add(R.drawable.f1); liv.add(R.drawable.f2); liv.add(R.drawable.f3); liv.add(R.drawable.f4); liv.add(R.drawable.f5); liv.add(R.drawable.f6); liv.add(R.drawable.f7); liv.add(R.drawable.f8); liv.add(R.drawable.f9); liv.add(R.drawable.f10); gv_1.setAdapter(new ImageAdapter()); } // 适配器 class ImageAdapter extends BaseAdapter { @Override public int getCount() { return liv.size(); } @Override public Object getItem(int position) { return liv.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { //1. 得到数据 图片的id Integer ivid=liv.get(position); //2.准备View if (convertView==null) { convertView = new ImageView(TestActivity10.this); } //3.适配 // 转换 ImageView imageView=(ImageView)convertView; imageView.setImageResource(ivid); // imageView.setMaxWidth(70); // imageView.setMaxHeight(70); imageView.setLayoutParams(new GridView.LayoutParams(110,110)); return imageView; } } }
.java
![](https://images2015.cnblogs.com/blog/884530/201605/884530-20160521000510919-238526372.png)
相关文章推荐
- ASP.NET web.config中 数据库连接字符串加密解密
- python列表的常用操作方法小结
- python实现用户登录系统
- python字符串的常用操作方法小结
- python实现简单购物商城
- 泸州气gou
- c++基础学习之深拷贝
- 关于Struts2 <s:iterator><s:if><s:elseif><s:else>标签备忘录
- PHP每周一个函数——strrchr() 函数
- php一种分类的排序方法
- springmvc+mybatis整合案例
- java多线程内存可见性1
- C++插件化开发,插件化系统
- C++11: std::call_once和std::one_flag
- SpringMVC+Mybatis框架整合源码 SSM
- 四个月的JAVA学习 收获技能和经验
- yii2分页的基本使用及其配置详解
- java swing JTextPane 按键、长按、回车键等控制
- Laravel5学生成绩管理系统-05-分页
- Laravel5学生成绩管理系统-06-资源控制器删除学生