填充ListView(继承BaseAdapter)
来源:互联网 发布:vb.net int 编辑:程序博客网 时间:2024/05/14 10:02
主要代码
package com.example.test;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class ListData extends Activity { private List<Person> personList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_data); MyDBHelper helper = new MyDBHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); Cursor cursor = db.rawQuery("select name,age from person", null); personList = new ArrayList<Person>(); while (cursor.moveToNext()) { String name = cursor.getString(0); String age = cursor.getString(1); Person person = new Person(name, age); personList.add(person); } ListView list = (ListView) findViewById(R.id.list); list.setAdapter(new MyAdapter()); } class MyAdapter extends BaseAdapter { //这个可以不实现 @Override public Object getItem(int position) { return null; } //这个可以不实现 @Override public long getItemId(int position) { return 0; } @Override public int getCount() { return personList.size(); } @Override public View getView(int position, View convertView, ViewGroup parent) { System.out.println(position); /** * View v=null; * if(convertView==null){ * TextView textView=new TextView(ListData.this); * textView.setText(personList.get(position).toString()); * textView.setTextSize(18); * v=textView; * }else{ * v=convertView; * } * 这样编写是不对的 * 因为当这个listview滑动的时候会缓存很多个textView,而当listview要获取他的缓存时 * 不能确定要获取哪一个缓存,只能是随机获取一个 * 所以正确的应该是 * * */ TextView textView = new TextView(ListData.this); textView.setText(personList.get(position).toString()); textView.setTextSize(18); return textView; } }}
MyDBHelper
package com.example.test;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/** * Created by joy on 2015/12/26. */public class MyDBHelper extends SQLiteOpenHelper { private final static String DB_NAME="person.db"; public MyDBHelper(Context context) { //第一个参数上下文,第二个参数数据库名,第三个参数游标工厂,第四个参数数据库版本号 //数据库文件保存在data/data/包名/databases/person.db super(context, DB_NAME, null, 2); } @Override public void onCreate(SQLiteDatabase db) { //数据库创建时调用 db.execSQL("create table person(_id integer primary key autoincrement,name varchar(20),age varchar(2))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //数据库升级时调用 Log.e("gjj","数据库更新了"); }}
布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
person类
package com.example.test;/** * Created by joy on 2015/12/24. */public class Person { private String name; private String age; public String getName() { return name; } public String getAge() { return age; } public void setName(String name) { this.name = name; } public void setAge(String age) { this.age = age; } public Person(String name, String age) { this.name = name; this.age = age; } @Override public String toString() { return name + ", " + age; }}
0 0
- 填充ListView(继承BaseAdapter)
- Android : 继承BaseAdapter对ListView进行填充
- 用布局填充器填充ListView(继承BaseAdapter)
- Android ListView(四) ---继承BaseAdapter
- 自定义ListView适配器继承BaseAdapter
- Android入门:ListView(继承BaseAdapter实现)
- listView显示图片,继承BaseAdapter(二)
- 继承BaseAdapter构建变化的listview
- ListView使用SimpleAdapter,或者继承BaseAdapter重写
- ListView ( BaseAdapter )
- listview baseadapter
- ListView BaseAdapter
- ListView-BaseAdapter
- baseAdapter ListView
- 继承BaseAdapter
- 实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- 实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。
- P11 (*) 游程编码改
- ubuntu下解决WebStorm找不到chromium路径
- 三层小总结
- 【GLSL教程】(五)卡通着色
- 从jdk源码角度理解jvm类加载机制
- 填充ListView(继承BaseAdapter)
- 数据结构实验之查找七:线性之哈希表 151 268
- Universal-Image-Loader
- 039_硬币问题(贪心)
- DHCP源码分析-系统概述
- Spring声明式事务异常回滚机制
- Linux开启ssh服务
- VMware vSphere6.0 安装记录
- OS的调度算法