這是我的代碼,它的工作良好。 我想從我的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);
}
嗨,android.R.layout.simple_list_item_1是Android系統的默認設置,它只能有一個textview.replace它與你自己的佈局,可以有多個textview並膨脹它 –
謝謝你的回答,我試過了做了這個多次,我做了我自己的行佈局,但我不知道在哪裏以及如何獲取數據和設置文本(和或圖像src)我的佈局項目 – Siavash
創建一個類擴展ArrayAdapter並覆蓋getView方法來充氣您的自定義行 – Mikel