1、在ListView里显示数据
private void show() {
List<Person> persons=service.getScrollData(0, 20);//需要绑定的数据,getScrollData代码在下方
List<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>(); for(Person person:persons){ HashMap<String, Object> item=new HashMap<String, Object>(); item.put("name", person.getName()); item.put("id", person.getId()); item.put("phone", person.getPhone()); item.put("amount", person.getAmount()); data.add(item); } SimpleAdapter adapter=new SimpleAdapter(getApplicationContext(), data, R.layout.item, new String[]{"name","phone","amount"}, new int[]{R.id.name,R.id.phone,R.id.amount}); listView.setAdapter(adapter); }
2、getScrollData代码
/**
* 分页获取记录
* @param offset 跳过前面多少条记录
* @param maxResult 每页显示多少条记录
* @return
*/
public List<Person> getScrollData(int offset,int maxResult){
SQLiteDatabase db=dbOpenHelper.getReadableDatabase();
List<Person> persons=new ArrayList<Person>();
Cursor cursor=db.rawQuery("select * from person order by personid asc limit?,?",
new String[]{String.valueOf(offset),String.valueOf(maxResult)});
while(cursor.moveToNext()){
int personid=cursor.getInt(cursor.getColumnIndex("personid"));
String name=cursor.getString(cursor.getColumnIndex("name"));
String phone=cursor.getString(cursor.getColumnIndex("phone"));
int amount=cursor.getInt(cursor.getColumnIndex("amount"));
persons.add(new Person(personid, name, phone,amount));
}
cursor.close();
return persons;
}
3、单击一条数据事件
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
service=new PersonService(this);
listView=(ListView)this.findViewById(R.id.listview);
show();
listView.setOnItemClickListener(new ItemClickListener());//单击事件
}
private final class ItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
ListView listView=(ListView)arg0;
//SimpleAdapter适配器
HashMap<String, Object> item=(HashMap<String, Object>)listView.getItemAtPosition(arg2);
String name=item.get("name").toString();
Toast.makeText(getApplicationContext(), name, 2).show();
}
}