Sebelum lebih lanjut, perlu diketahui bahwa teerdapat tiga metode bawaan yang harus kita implementasikan. Mulailah navigasi ke JSONAdapter.java. Modifikasikanlah fungsi-fungsi di bawah ini supaya menjadi seperti kode di bawah.
@Override
public int getCount() {
return mJsonArray.length();
}@Override
public Object getItem(int position) {
return mJsonArray.optJSONObject(position);
}@Override
public long getItemId(int position) {
return position;
}
Anda dapat mencoba memahami sendiri, apa maksud-maksud dari fungsi-fungsi bawaan tersebut.
Setelah itu tambahkan fungsi ini pada Class JSONAdapter anda.
public void updateData(JSONArray jsonArray) {
//20. update array data yang dipakai
mJsonArray = jsonArray;
notifyDataSetChanged();
}
Fungsi ini berguna untuk meng-update isi dari array data kita. Lakukanlah navigasi ke MainActivity, dan kita akan rombak fungsi onCreate agar memakai JSONAdapter, tidak lagi dengan ArrayAdapter.
Langkah pertama adalah menambahkan global variabel :
//JSONAdapter
JSONAdapter mJSONAdapter;
Setelah itu rubah onCreate menjadi seperti berikut. :
Beri komentar pada kode lama kita yang masih menggunakan ArrayAdapter dan kita set beberapa kode.
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);//1.inisiasi listview
mListView = (ListView) findViewById(R.id.list1);/*
//2.inisiasi ArrayList sebagai wadah dari List kita
mArrayList = new ArrayList();//3.Inisiasi Adapter
mAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,mArrayList);//4.Set Adapter
mListView.setAdapter(mAdapter);//5.Coba isi data
mArrayList.add("Apple");
mArrayList.add("Windows");
mArrayList.add("Linux");
mArrayList.add("Android");
mArrayList.add("iOS");
*/// 18. Tambahkan mJSONAdapter
mJSONAdapter = new JSONAdapter(this, getLayoutInflater());// 19. Set ListView untuk memakai JSONAdapter
mListView.setAdapter(mJSONAdapter);//6. Listener untuk Item Click
mListView.setOnItemClickListener(this);//7. Tambahan untuk Progress dialog
mDialog = new ProgressDialog(this);
mDialog.setMessage("Sedang Mencari Klub");
mDialog.setCancelable(false);query_data();
Selanjutnya kita akan update fungsi query_data pada MainActivity.
Tambahkan fungsi
updateData pada onSuccess seperti dibawah ini.@Override
public void onSuccess(JSONObject jsonObject) {
// 12. Begitu Sukses hilangkan progress dialog
mDialog.dismiss(); //13. Keluarkan toast
Toast.makeText(getApplicationContext(), "Sukses!", Toast.LENGTH_SHORT).show(); //14. Untuk sekarang JSON hanya kita keluarkan lewat log
Log.d("aplikasi-mobile.com", jsonObject.toString()); //18.update data kita
mJSONAdapter.updateData(jsonObject.optJSONArray("data"));}
Sekarang silakan jalankan alias run aplikasi mobile anda, dan lihat hasilnya.
Tutorial Pemrograman Android App selanjutnya adalah Pembuatan Detail Page sebagai kontainer untuk onClick-nya.
0 komentar:
Posting Komentar