Android的笔记之listview2
来源:互联网 发布:中文翻译拼音软件 编辑:程序博客网 时间:2024/06/10 22:22
1、activity:
用于显示用户界面,是View的容器。
首先通过在oncreate中setcontentView指定总布局,
这个布局也是一个容器,其中有各种组件,而每个组件又是一个View容器。
2、处理item的点击事件:
mListView.setOnItemClickListener(new OnItemClickListener() {
/**
* parent 代表的是当前的listview
* view 代表的当前被点击条目对应的view对象
* position当前条目在listview中的位置
* id 行号 一般与position 相同的
*/
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/*
* 方法1
* TextView tv_name = (TextView)view.findViewById(R.id.tv_name);
* String name =tv_name.getText().toString();
* Toast.makeText(DbActivity.this,name, Toast.LENGTH_LONG).show();
*/
/*
* 方法2
* String name = persons.get(position).getName();
* Toast.makeText(DbActivity.this, name,Toast.LENGTH_LONG).show();
*/
Person object = (Person) parent.getItemAtPosition(position);
String name = object.getName();
Toast.makeText(DbActivity.this, name, Toast.LENGTH_LONG).show();
}
});
}
这段代码在上一篇博客中。
3、其他adapter的使用:
(1)simpleadapter
这里需要一个list<map>类型:
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
for (Person person : persons) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", person.getName());
map.put("age", person.getAge() + "");
data.add(map);
}
mListView.setAdapter(new SimpleAdapter(DbActivity.this, data, R.layout.item,
new String[]{"name","age"}, new int[]{R.id.tv_name,R.id.tv_age}));
(2)arrayadapter
这里需要一个String[]类型
arrayadapter每个item只能产生一个显示项,这里名字。
for(int i=0;i<persons.size();i++){
personarr[i]= persons.get(i).getName();
}
mListView.setAdapter(new ArrayAdapter<String>(DbActivity.this, R.layout.item, R.id.tv_name, personarr));
(3)simplecursoradapter:
Cursor c = dao.findAllbyCursor();
注意:在findallbycursor中不要关闭数据库。
mListView.setAdapter(new SimpleCursorAdapter(this, R.layout.item, c,
new String[] { "name", "age" }, new int[] { R.id.tv_name,
R.id.tv_age }));
SQLite数据库标准:
要求数据库的主键最好以_id为名。
public Cursor findAllbyCursor() {
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
if (db.isOpen()) {
/*Cursor cursor = db.query("person", null, null, null, null, null,
null);*/
Cursor cursor = db.rawQuery("select personid as _id,age,name from person", null);
return cursor;
// 注意了 一定不要把数据库 关闭了
}
return null;
}
- Android的笔记之listview2
- 笔记69--继续ListView2
- ListView2
- listview2
- ListView2——Android群英传
- Android ListView2 加载图片不错位
- android开发控件——listview2(入门)
- 6ListView2
- android学习笔记之button的建立
- android学习笔记之ProgressDialog的使用
- android学习笔记之RadioGroup的使用
- Android学习之笔记---WebView的使用
- Android学习之笔记---Animation的使用
- Android学习笔记之Service的 学习
- android开发笔记之SharedPreferences的使用
- android笔记之ViewFlipper的使用
- android开发笔记之fastboot的使用
- Android之Handler的用法(笔记)
- 面向对象设计原则
- 暑期实训第七课(数据的接收与上传)
- C# 默认访问修饰符
- java中的final, finally, finalize的区别
- Android的学习之路(五)java基础学习1
- Android的笔记之listview2
- CGI简介
- Perl语言学习笔记 13 目标操作
- 多继承
- .NET中关于DateTime、获取时间的相关知识
- RT5350 gpio设置
- Flex AdvancedDataGrid对某列数值格式化
- ALSA在ARM(S3C6410)中的移植
- Windows平台编译openssl-0.9.8k库(32位、64位)