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