最近写课设,被获取ListView中所点击的数据,必将他传给下一个Actyvity给烦到了,因为要写的与数据库有关联,且要获得数据跳来跳去的,所以写下这篇作为笔记
部分代码
//获取数据库的数据并在列表中显示出来
DatabaseHelper dbHelper = new DatabaseHelper(getActivity());
SQLiteDatabase db = dbHelper.getWritableDatabase();
cursor = db.rawQuery("select class,cname from course,tcourse where course.cno=tcourse.tcno and tno=" + user, null);
while (cursor.moveToNext()) {
String class1 = cursor.getString(0);
String cname = cursor.getString(1);
Map<String, Object> map = new HashMap<String, Object>();
map.put("class1", class1);
map.put("cname", cname);
list.add(map);
}
//适配器
simpleAdapter = new SimpleAdapter(getActivity(),list, R.layout.classlist,
new String[]{"class1","cname"}, new int[]{R.id.caltev1,R.id.caltev2});
listview.setAdapter(simpleAdapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//获取选择项的值
Map<String,Object> map1= (Map<String, Object>) parent.getItemAtPosition(position);
//Toast.makeText(MainActivity.this,map1.get("class1").toString(),Toast.LENGTH_SHORT).show();
//这是获取点击项传入到下一个Actyvity的值
Bundle bundle=new Bundle();
Person p = new Person(map1.get("class1").toString(),user);
bundle.putSerializable("classname",p);
Intent intent=new Intent();
intent.putExtras(bundle);
intent.setClass(getActivity(),teastulist.class);
startActivity(intent);
}
});