色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

extlistview顯示json數據

錢浩然2年前8瀏覽0評論

Android開發中,ListView控件是非常常用的控件之一,但是默認的ListView控件在性能和滑動流暢度等方面還比較欠缺,于是我們就需要找到一種更好的方法來優化ListView控件。在這篇文章里,我們會介紹一種叫ExtListView的控件,它可以讓你非常容易地顯示來自Json數據源的數據。下面我們就來看看如何使用ExtListView。

public class MainActivity extends AppCompatActivity {
private ExtListView listView;
private SampleAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ExtListView) findViewById(R.id.list_view);
adapter = new SampleAdapter(this, new ArrayList());
listView.setAdapter(adapter);
String url = "http://myurl.com/myjsondata.json";
RequestQueue queue = Volley.newRequestQueue(this);
JsonRequestjsonRequest = new JsonArrayRequest(Request.Method.GET, url, null,
new Response.Listener() {
@Override
public void onResponse(JSONArray response) {
ArrayListitems = new ArrayList<>();
for (int i = 0; i< response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
SampleItem item = new SampleItem(obj.getString("title"), obj.getString("description"), obj.getString("image_url"));
items.add(item);
} catch (JSONException ex) {
ex.printStackTrace();
}
}
adapter = new SampleAdapter(MainActivity.this, items);
listView.setAdapter(adapter);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "An error occurred while getting data from the server.", Toast.LENGTH_SHORT).show();
}
});
queue.add(jsonRequest);
}
}

如你所見,我們在這里使用了Volley庫來解析和獲取Json數據。我們首先創建了一個SampleAdapter來將Json數據轉換為樣本數據。之后我們創建了一個ExtListView實例,并設置了我們的Adapter。最后我們通過Volley庫從服務器獲取Json數據,使用Volley庫的JsonArrayRequest類和RequestQueue類來獲取。當獲取到Json數據后,我們將數據轉換為ArrayList對象,并使用新的適配器將數據傳遞給我們的ExtListView。

以上就是使用ExtListView顯示Json數據的全部內容了,這篇文章里的代碼還可以適用于處理其他類型的數據。如果你想要使用自定義布局來顯示數據,只需要重寫SampleAdapter類并使用ExtListAdapter接口。