2012-02-11 121 views
1

我有一些ListView和SimpleAdapter我怎樣才能得到我點擊的列表項數據?

List<HashMap<String, Object>> dataList = new ArrayList<HashMap<String, Object>>(); 

    HashMap<String, Object> map = new HashMap<String, Object>(); 
    map.put(ITEMTITLE, getString(R.string.broadcast_street_1_text)); 
    map.put(ITEMDESCR, getString(R.string.broadcast_request_1_text)); 
    dataList.add(map); 

    map = new HashMap<String, Object>(); 
    map.put(ITEMTITLE, getString(R.string.broascast_street_2_text)); 
    map.put(ITEMDESCR, getString(R.string.broadcast_request_2_text)); 
    dataList.add(map); 

    SimpleAdapter adapter = new SimpleAdapter(this, 
               dataList, 
               R.layout.broadcast_list_item, 
               new String[] {ITEMTITLE, ITEMDESCR}, 
               new int[] {R.id.broadcast_list_item_title, R.id.broadcast_list_item_descr}); 

    list.setAdapter(adapter); 

所以,當我在一些列表項點擊我需要改變的活動。

 list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) { 
      Intent intent = new Intent(getParent(), BroadcastDataActivity.class); 
      intent.putExtra("street", arg0.getItemAtPosition(position).toString()); 
      intent.putExtra("time", arg0.getItemAtPosition(position).toString()); 
      parentActivity = (WorldTaxiActivityGroup) getParent(); 
      parentActivity.startChildActivity("BroadcastData", intent); 
     } 
    }); 

但arg0.getItemAtPosition(位置)只返回數據的對象 請幫助我,我怎樣才能得到的數據正確地將?

+0

我很困惑,這是什麼的B/W'的data'對象和'正確data' – 2012-02-11 11:56:25

+0

MMM的區別......這是一個對象(類)..我如何從中獲取數據? – user1128677 2012-02-11 12:13:05

回答

8

使用

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) { 
      Intent intent = new Intent(getParent(), BroadcastDataActivity.class); 
      HashMap<String, Object> item = dataList.get(position); 
      intent.putExtra("street", item.get(ITEMTITLE).toString(); 
      intent.putExtra("time", item.get(ITEMDESCR).toString().toString()); 
      parentActivity = (WorldTaxiActivityGroup) getParent(); 
      parentActivity.startChildActivity("BroadcastData", intent); 
     } 
    }); 
+0

謝謝,完美的工作!) – user1128677 2012-02-11 12:07:34

+0

雖然我的問題有點不同,但它給了我線索得到它解決 – Passion 2013-06-09 19:34:02

2
public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) { 
      Intent intent = new Intent(getParent(), BroadcastDataActivity.class); 
      intent.putExtra("street", dataList.get(position).get("ITEMTITLE")); 
      intent.putExtra("time", dataList.get(position).get("ITEMDESCR")); 
      parentActivity = (WorldTaxiActivityGroup) getParent(); 
      parentActivity.startChildActivity("BroadcastData", intent); 
     } 
    }); 
+0

謝謝!那也工作) – user1128677 2012-02-11 12:07:53