2011-08-10 6 views
0

以下のコードを使用してリストビューを埋めましたが、getadpterがオブジェクトを書き込んだのでリストから値を取得できません。オブジェクトから、私は1列の値を得ることができませんでした。リストビュー充填するためのAndroidのListviewのgetadapterから1列ずつ値を取得する必要があります

コード:onItemSelected上の値を取得するため

String pkManifest = manifest.pkManifestNo; 
     ArrayList<HashMap<String, String>> alist = new ArrayList<HashMap<String, String>>(); 
     HashMap<String, String> map = new HashMap<String, String>(); 
     manifest_helper = new manifest_helper(this); 

    cursor = manifest_helper.GetDeliveriesAgainstManifest(pkManifest); 
    cursor.moveToFirst(); 

    for (int i = 0; i < cursor.getCount(); i++) { 

     map = new HashMap<String, String>(); 
     map.put("Deliv_Address", 
       cursor.getString(cursor.getColumnIndex("Address"))); 
     map.put("Deliv_Time", 
       cursor.getString(cursor.getColumnIndex("Time"))); 
     map.put("Deliv_Order", 
       cursor.getString(cursor.getColumnIndex("DeliveryOrder"))); 
     map.put("Deliv_IsCustomerPickup", 
       cursor.getString(cursor.getColumnIndex("IsCustomerPickup"))); 
     map.put("Deliv_FKDeliveryStatus", 
       cursor.getString(cursor.getColumnIndex("FKDeliveryStatus"))); 
     map.put("Deliv_PKDelivery", 
       cursor.getString(cursor.getColumnIndex("PKDelivery"))); 
     alist.add(map); 
     cursor.moveToNext(); 
    } 
    sd = new SimpleAdapter(this, alist, R.layout.deliveries_list_row, 
      new String[] { "Deliv_Address", "Deliv_Time", 
        "Deliv_Order", "Deliv_IsCustomerPickup", 
        "Deliv_FKDeliveryStatus", "Deliv_PKDelivery" }, 
      new int[] { R.id.tv_Deliv_Address, R.id.tv_Deliv_Time, 
        R.id.tv_Deliv_Order, 
        R.id.tv_Deliv_IsCustomerPickup, 
        R.id.tv_Deliv_FKDeliveryStatus, 
        R.id.tv_Deliv_PKDelivery }); 
    //selectedAdapter = new SelectedAdapter(this, 0, alist); 
    //selectedAdapter.setNotifyOnChange(true); 

    ListDeliveries.setAdapter(sd); 

コードは次のように書かれている:

private OnItemSelectedListener mDeviceSelectedListener = new OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> av, View v, int arg2,long arg3) { 
    Object o = av.getAdapter().getItem(arg2); 
     String keyword = o.toString(); 
    MessageBox("You selected: " + keyword);   
} 

答えて

0
private OnItemClickListener mDeviceClickListener = new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) { 
      HashMap result = (HashMap) av.getAdapter().getItem(arg2); 
      pkDelivery = result.get("Deliv_PKDelivery").toString(); 
      pbDeliveryOrder=result.get("Deliv_Order").toString(); 

      isCustomerPickup=result.get("Deliv_IsCustomerPickup").toString(); 
      if ("false".equals(isCustomerPickup)) 
      {    
       customerPickup="false"; 
       pbPickUp="false";   
      } 
      else 
      { 
       customerPickup="true"; 
       pbPickUp="true"; 
      } 
      launchDelivery_header(pkDelivery); 

     } 

    }; 

これは、アダプタの値を取得することによって行うことができますハッシュマップを1つずつ取得する

関連する問題