2013-10-14 68 views
0

這是我的代碼,它的工作良好。 我想從我的JSON數據中獲取多個值(包括圖像地址),並在列表視圖的每一行中顯示它們,但是我不能這樣做,我只能獲取一個數據(標題)並將其放在簡單列表中,我如何可以用我自己的單行佈局替代android.R.layout.simple_list_item_1?我是新來的android和我無法理解列表視圖和行循環。獲取數據使用排序從JSON排序視圖與自定義arrayadapter

什麼我想要做的是從JSON獲得一些DATAS,並顯示在我的自定義行佈局,像谷歌加列表視圖,用圖片,標題和描述

對不起我的英語不好:)

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    context = this; 
    setContentView(R.layout.activity_read_restaurants); 
    restaurantList = (ListView) findViewById(R.id.restaurantList); 


    final ArrayAdapter<String> restaurantAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,restaurantArray); 
    restaurantList.setAdapter(restaurantAdapter); 

    RequestQueue rq = Volley.newRequestQueue(this); 
    JsonObjectRequest jsonrequest = new JsonObjectRequest(Request.Method.GET,feedURL,null, 
      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        try { 
         JSONArray restaurants = response.getJSONArray("posts"); 
         for (int i =0; i<restaurants.length(); i++){ 
          restaurantArray.add(restaurants.getJSONObject(i).getString("title")); 
         } 
        } catch (JSONException e) { 

         e.printStackTrace(); 
        } 
        restaurantAdapter.notifyDataSetChanged(); 
       } 

      },new Response.ErrorListener() { 

       @Override 
       public void onErrorResponse(VolleyError error) { 
        Toast.makeText(context, error.toString(), Toast.LENGTH_LONG).show(); 

       } 
      }); 


    rq.add(jsonrequest); 
} 
+0

嗨,android.R.layout.simple_list_item_1是Android系統的默認設置,它只能有一個textview.replace它與你自己的佈局,可以有多個textview並膨脹它 –

+0

謝謝你的回答,我試過了做了這個多次,我做了我自己的行佈局,但我不知道在哪裏以及如何獲取數據和設置文本(和或圖像src)我的佈局項目 – Siavash

+0

創建一個類擴展ArrayAdapter並覆蓋getView方法來充氣您的自定義行 – Mikel

回答