List<Map<String, Object>> data = getMenuData();
list=(ListView)findViewById(R.id.diary_info_list);
productAdapter=new SimpleAdapter(this, data, R.layout.journal_list,
new String[] { "title", "main" }, new int[]{R.id.list_day,R.id.list_main}); //这里的this是只当前的content,R.layout.journal_list是指样本的xml,new String[]是指显示的名称,new int[]指向String[]中对应的对象
list.setAdapter(productAdapter);//设置适配器
private List<Map<String, Object>> getMenuData(){
final List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
BmobQuery<journal> query=new BmobQuery<journal>();
query.addWhereEqualTo("name", str);
query.findObjects(new FindListener<journal>() {
@Override
public void done(List<journal> names, BmobException e) {
// TODO Auto-generated method stub
if(e==null){
for(journal name:names){
//定义一个diary
journal diary = new journal();
Map<String, Object> item;
item = new HashMap<String, Object>();
item.put("title", name.getDaily());
item.put("main", name.getMain());
data.add(item);
productAdapter.notifyDataSetChanged();
//将值加入diary中
diary.setDaily(name.getDaily());
diary.setMain(name.getMain());
//加这个diary加入数组diaries中
diaries.add(diary);
}
}
}
});
return data;
}
由于我是用Bmob写的后台,所以顺便将点击事件的代码贴上
//定义一个数组diaries
private List<journal> diaries;
diaries =new ArrayList<journal>();
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int postion,
long arg3) {
// TODO Auto-generated method stub
Intent intent=new Intent(journal_main.this,journal_to_look.class);
//将点击ListView中对应的数组中的值传给下个界面
intent.putExtra("daily", diaries.get(postion).getDaily());
intent.putExtra("main", diaries.get(postion).getMain());
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
}
});
主要是定义一个数组,将ListView的数据传入数组中然后在点击事件中实现跳转传值