赵雅智_ListView_SimpleAdapter
2014-06-10 08:08
127 查看
项目步骤
声明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/article/1344655.html
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(); } }
相关文章推荐
- 赵雅智_ListView_SimpleAdapter
- 在fragment里面ListView.setAdatper(simpleAdapter)出现空指针导致闪退
- android listview组件之ArrayAdapter,SimpleAdapter
- AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表
- Android 应用开发笔记 - 列表(ListView)& SimpleAdapter
- Android实例demo11之listview的简单使用(arrayadapter、simpleadapter)
- 为SimpleAdapter创建的ListView设置事件监听器
- android listview组件之ArrayAdapter,SimpleAdapter
- ListView_ArrayAdapter、SimpleAdapter
- Android学习---ListView的点击事件,simpleAdapter和arrayadapter的原理和使用 - Hi_Amos
- AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表
- ListView之SimpleAdapter
- Android SimpleAdapter 列表(ListView)、表格(GridView)
- Android使用SimpleAdapter更新ListView里面的Drawable元素
- 使用 SimpleAdapter 显示listview
- 赵雅智_ListView
- Android学习笔记之ListView采用SimpleAdapter
- 采用ListView实现数据列表显示——SimpleAdapter
- 求帮助,simpleAdapter和listview 出现问题
- ListView 与SimpleAdapter