2011-05-09 53 views
1

更多信息我有这样的代码显示在listadapter

public class List extends ListActivity implements LocationListener { 

    int ct_id; 
    String[] ct_number = null; 
    String[] ct_address = null; 
    String[] ct_phone = null; 
    String[] ct_fax = null; 
    String[] ct_email = null; 
    String[] ct_city = null; 
    String[] ct_province = null; 
    String[] ct_country = null; 
    String[] ct_pcode = null; 
    String[] ct_lat = null; 
    String[] ct_long = null; 
    String[] ct_distance = null; 
    String[] ct_show = null; 

    private LocationManager locationManager; 

    @Override 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     //setContentView(R.layout.timslist); 

     locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000L, 500.0f, this); 
     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this); 
     Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

     double lat = location.getLatitude(); 
     double lng = location.getLongitude(); 

     String result = null; 
     InputStream is = null; 
     StringBuilder sb = null; 
     //http post 
     try{ 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost("http://www.somedomain.com/list.php?lat=" + lat + "&long=" + lng + ""); 
      //httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 
     }catch(Exception e){ 
      Log.e("log_tag", "Error in http connection"+e.toString()); 
     } 
     //convert response to string 
     try{ 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
      sb = new StringBuilder(); 
      sb.append(reader.readLine() + "\n"); 
      String line="0"; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      result=sb.toString(); 
     }catch(Exception e){ 
      Log.e("log_tag", "Error converting result"+e.toString()); 
     } 
     //paring data 
     JSONArray jArray; 
     try{ 
      jArray = new JSONArray(result); 
      JSONObject json_data=null; 
      ct_number=new String[jArray.length()]; 
      ct_address=new String[jArray.length()]; 
      ct_phone=new String[jArray.length()]; 
      ct_fax=new String[jArray.length()]; 
      ct_email=new String[jArray.length()]; 
      ct_city=new String[jArray.length()]; 
      ct_province=new String[jArray.length()]; 
      ct_country=new String[jArray.length()]; 
      ct_pcode=new String[jArray.length()]; 
      ct_lat=new String[jArray.length()]; 
      ct_long=new String[jArray.length()]; 
      ct_distance=new String[jArray.length()]; 
      for(int i=0;i<jArray.length();i++){ 
       json_data = jArray.getJSONObject(i); 
       ct_id=json_data.getInt("location_id"); 
       ct_number[i]=json_data.getString("store_number"); 
       ct_address[i]=json_data.getString("store_address"); 
       ct_phone[i]=json_data.getString("store_phone"); 
       ct_fax[i]=json_data.getString("store_fax"); 
       ct_email[i]=json_data.getString("store_email"); 
       ct_city[i]=json_data.getString("store_city"); 
       ct_province[i]=json_data.getString("store_province"); 
       ct_country[i]=json_data.getString("store_country"); 
       ct_pcode[i]=json_data.getString("store_pcode"); 
       ct_lat[i]=json_data.getString("store_lat"); 
       ct_long[i]=json_data.getString("store_long"); 
       ct_distance[i]=json_data.getString("store_distance"); 
      } 
     } 
     catch(JSONException e1){ 
      Toast.makeText(getBaseContext(), "No Addresses Found" ,Toast.LENGTH_LONG).show(); 
     } catch (ParseException e1) { 
      e1.printStackTrace(); 
     } 

     setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ct_address)); 
     ListView lv; 
     lv = getListView(); 
     lv.setTextFilterEnabled(true); 
     lv.setBackgroundColor(Color.rgb(83, 05, 14)); 
     lv.setCacheColorHint(Color.rgb(83, 05, 14)); 
     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> timslist, View view, 
        int position, long id) { 

       Intent i1 = new Intent(getApplicationContext(), TimsListMore.class); 

       i1.putExtra("ct_number_pass", ct_number[position]); 
       i1.putExtra("ct_address_pass", ct_address[position]); 
       i1.putExtra("ct_phone_pass", ct_phone[position]); 
       i1.putExtra("ct_city_pass", ct_city[position]); 
       i1.putExtra("ct_province_pass", ct_province[position]); 
       i1.putExtra("ct_country_pass", ct_country[position]); 
       i1.putExtra("ct_pcode_pass", ct_pcode[position]); 
       i1.putExtra("ct_distance_pass", ct_distance[position]); 

       startActivity(i1); 

      } 
     }); 
    } 

现在我试着去拥有它,因此列表显示

地址 城市,省

我能得到它的工作我的其他名单,但我没有与这一个运气。我曾尝试添加一个字符串,如下所示

String[] ct_listinfo = (ct_address + "\n" + ct_city + ", " + ct_province); 

,改变

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ct_address)); 

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ct_listinfo)); 

,但是这并不能帮助我失去了什么?

回答

1

您试图连接字符串数组而不是字符串。您需要分别连接每个字符串:

String[] ct_listinfo=new String[jArray.length()]; 

for(int i=0;i<jArray.length();i++){ 
    // all your code 
    ct_listinfo[i] = new String (ct_address[i] + "\n" + ct_city[i] + ", " + ct_province[i]); 
}