项目步骤
- 声明listView控件并获取显示的视图
- 获取显示的数据
- 设置显示的adapter
- 注册点击事件
具体案例
实现效果:
查找的方法
public List<Map<String, Object>> getData() {
SQLiteDatabase db = dh.getWritableDatabase();
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
Cursor c = db
.rawQuery(
"select userid ,username,userage,usersalary,userphone from users",
null);
while (c.moveToNext()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", c.getInt(c.getColumnIndex("userid")));
map.put("name", c.getString(c.getColumnIndex("username")));
map.put("age", c.getInt(c.getColumnIndex("userage")));
map.put("phone", c.getString(c.getColumnIndex("userphone")));
data.add(map);
}
db.close();
return data;
}
布局文件
同BaseAdapter的布局文件activity_main.xml
ArrayAdapter实现类(主程序)
package com.example.android_sqlite;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
import com.example.android_sqlite.dao.impl.UserDaoImpls;
import com.example.android_sqlite.database.DatabaseHelper;
/**
* SimpleAdapter
*
* @author zhaoyazhi
*
*/
public class MainActivity extends Activity implements OnItemClickListener {
private ListView lv_users;// 视图层
// model层 相关的对象的声明
private DatabaseHelper dh;
private UserDaoImpls userDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 模型层
dh = new DatabaseHelper(this);// 创建数据库
userDao = new UserDaoImpls(dh);// 获取显示数据 model
List<Map<String, Object>> data = userDao.getData();// 查询获取数据
// 控制层 依赖于模型层
SimpleAdapter adapter = new SimpleAdapter(this, data,
R.layout.item_phone, new String[] { "name", "phone", "id",
"age" }, new int[] { R.id.tv_name, R.id.tv_phone,
R.id.tv_id, R.id.tv_age });
// 视图层 依赖于控制层
lv_users = (ListView) findViewById(R.id.lv_users);
lv_users.setAdapter(adapter);
// 注册点击事件
lv_users.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long arg3) {
// 获取点击我的数据
Toast.makeText(this, parent.getItemAtPosition(position) + "", 0).show();
}
}
分享到:
相关推荐
VC代码 multisort_listview (实用代码源)VC代码 multisort_listview (实用代码源)VC代码 multisort_listview (实用代码源)VC代码 multisort_listview (实用代码源)VC代码 multisort_listview (实用代码源)VC代码 ...
解决了listview刷新后重绘的闪烁,用此方法后,不再闪烁。
传智播客_Andorid_Android基础视频video_第三天-第10节_10_listview入门.avi
Delphi 10_delphilistview_ListView扩展源码_ListView_源码.zip
Delphi 10_delphilistview_ListView扩展源码_ListView_源码.rar
listview排序VC++, VC编写的listview按列排序
Scrollview_ViewPager_ListView Scrollview_ViewPager_ListView Scrollview_ViewPager_ListView
一个小控件的用法,在vc++6.0环境下编译测试通过
(tree_listview)图片操作,反射 (tree_listview)图片操作,反射 (tree_listview)图片操作,反射 (tree_listview)图片操作,反射
listview功能扩展-自定义特定列编辑,同时与键盘配合移动列
viewpage,Fragment,FragmentAcctivity的使用。avtivity的启动并返回值,listview的优化
This is a android android0 Demo_pulltorefresh_listview demo! This is a android android0 Demo_pulltorefresh_listview demo!
PopupWindow + ListView + Singleselect
Android应用源码之listView_listView
VB_ListView控件详解 非常实用
android_開發_ListView
拖动LVW控件中的某项,拖动时会显示拖动图标和定位图标
Android_ListViewAnimation