我这里要写一个方法,在list列表中显示一些从数据库中查询出来的信息列表.然后点击这些列表来查询具体的数据.
现在我写到onItemClick()方法了.不知道通过什么方法可以获取到点击的这个list的值以下是代码:
public class P11_OrderResultListAct extends Activity{

private ListView listView;
private ClientController controller;
private List<Map<String,Object>> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.p11_order_result_list);
controller=ClientController.getController(this);
getData();
listView = (ListView)findViewById(R.id.order_select_result_lv);
SimpleAdapter sa = new SimpleAdapter(this,data,R.layout.p11_1_order_result_list_item,new String[]{"orderId",
"price","flight","orderDate","state"},new int[]{R.id.t1201,R.id.t1202,
R.id.t1203,R.id.t1204,R.id.t1205});
listView.setAdapter(sa);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
}

});
}
private void getData(){
data = new ArrayList<Map<String,Object>>();
List<Order> orderLists = (List<Order>)controller.getContext().getBusinessData("OrderResult");
Map map = new HashMap<String, Object>();
//Log.i("DEBUG", orderLists.toString());
for(int i = 0;i<orderLists.size();i++){
Order order = orderLists.get(i);
map.put("orderId", order.getId());
map.put("price", order.getOrderMoney());
map.put("flight", order.getItems().get(0).
getFlight().getRoute().getFromAirport().getCity().getName()+
order.getItems().get(0).
getFlight().getRoute().getFromAirport().getName()+"--"+
order.getItems().get(0).
getFlight().getRoute().getToAirport().getCity().getName()+
order.getItems().get(0).
getFlight().getRoute().getToAirport().getName());
map.put("orderDate", order.getOrderDate().toString());
map.put("state", order.getState());
data.add(map);

}
}}

解决方案 »

  1.   

    adapter.notifyXXX.忘记了。你可以试试。更新数据。不知道对不对。点击后代码更新adapter的内容。
      

  2.   

    onItemClick(AdapterView<?> parent, View view, int position, long id) 这样能看得更清楚此。
      

  3.   

    adapter.getItem(position)
    这样就可以获得相关的ITEM.
      

  4.   

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int postion, long id) {
    MyAlarm myAlarm = (MyAlarm) myAlarms.get(postion);
    Intent inten = new Intent(this, ModifyAlarm.class);
    //inten.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    inten.putExtra("id", myAlarm.getId());
    inten.putExtra("title", myAlarm.getTitle());
    inten.putExtra("stateValue", myAlarm.getStateValue());
    inten.putExtra("shockValue", myAlarm.getShockValue());
    inten.putExtra("clockTime", myAlarm.getClockTime());
    inten.putExtra("flag", myAlarm.getFlag());
    inten.putExtra("sbWeek", myAlarm.getSbWeek());
    this.startActivity(inten);
    }用这个方法能获取到里面的数据。。然后传递到另一个Activity里面进行处理,想怎么处理怎么处理…………
      

  5.   

    http://hi.baidu.com/ilybeen/blog/item/eb1d37275ee7c7154c088da1.html
      

  6.   

    能给出MyAlarm 类的代码吗?这个类是做什么用的?