ListView dengan pasangan nilai HashMap dalam Android

Contoh Kasus:

Saya mempunyai tabel kota seperti berikut ini:

Permintaan:

Saya ingin menampilkannya pada ListView seperti berikut ini

ListView diatas tampil dalam sebuah AlertDialog.

Lalu ketika saya pilih salah satu kota maka id_kota-nya akan disimpan dalam preferences seperti terlihat pada gambar dibawah ini:

Pertanyaan:

Bagaimana cara membuatnya … ?

Jawaban:

Buatlah kode seperti berikut ini:

public class Home extends Activity { 

ArrayList<HashMap<String, String>> arrayList;

SQLiteDatabase db;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

db=openOrCreateDatabase(“motivator”, SQLiteDatabase.CREATE_IF_NECESSARY, null);

Cursor hasilQuery=db.rawQuery(“SELECT * FROM kota, null);

hasilQuery.moveToFirst();

arrayList=new ArrayList<HashMap<String,String>>();

listKota=new ListView(this);

if(hasilQuery.getCount()!=0){

while(!hasilQuery.isAfterLast()){

int idKota=hasilQuery.getInt(1);

String namaKota=hasilQuery.getString(2);

HashMap<String, String> map = new HashMap<String, String>();

map.put(“id_kota”,””+idKota);

map.put(“nama_kota”, namaKota);

arrayList.add(map);

}

}

listKota.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

SimpleAdapter SA=new SimpleAdapter(Home.this, arrayList,android.R.layout.simple_list_item_single_choice, new String[]{“nama_kota”}, new int[]{android.R.id.text1});

listKota.setAdapter(SA);

final AlertDialog build = new AlertDialog.Builder(this).create();

build.setTitle(“Pilih Kota”);

build.setView(listKota);

build.show();

listKota.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent,View v, int posisi, long id ){

HashMap<String, String> dataMap=(HashMap<String, String>)listKota.getItemAtPosition(posisi);

String idKt=dataMap.get(“id_kota”);

build.dismiss();

SharedPreferences.Editor input_data=dataShare.edit();

input_data.putInt(“id_kota”, Integer.parseInt(idKt));

input_data.commit();

}

});

}

 

Jika tutorial ini bermanfaat silahkan katakan ‘Terima Kasih Fahmi Basya Kartapura’.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *