Komponen ListView digunakan untuk menampilkan daftar opsi atau piliahan pada android. list yang ditampilkan dapat di-scroll.
Berikut contoh aplikasi sederhana yang saya buat untuk penggunaan ListView pada Android.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/ls_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>
</RelativeLayout>
Untuk script java-nya
package com.thegunk.listview;
import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListViewActivity extends Activity{
private ListView ls_menu;
private String[] menu = {"Menu 1", "Menu 2", "Menu 3", "Menu 4", "Menu 5"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
ls_menu = (ListView) findViewById(R.id.ls_menu);
ArrayAdapteradapter = new ArrayAdapter (this,
android.R.layout.simple_list_item_1, menu);
ls_menu.setAdapter(adapter);
}
}
Jalankan!!!
Pada ListView dapat ditambahkan action, jika kita mengklik atau memilih salah satu item dari ListView dapat menggunakan setOnItemClickListener
package com.thegunk.listview;jika kita mengklik atau memilih salah satu dari menu yang ada, maka teks menu akan ditampilkan dalam bentuk toast seperti pada gambar dibawah ini.
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class ListViewActivity extends Activity implements OnItemClickListener{
private ListView ls_menu;
private String[] menu = {"Menu 1", "Menu 2", "Menu 3", "Menu 4", "Menu 5"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
ls_menu = (ListView) findViewById(R.id.ls_menu);
ArrayAdapteradapter = new ArrayAdapter (this,
android.R.layout.simple_list_item_1, menu);
ls_menu.setAdapter(adapter);
ls_menu.setOnItemClickListener(this);
}
public void onItemClick(AdapterView arg0, View arg1, int posisi, long arg3) {
Toast.makeText(ListViewActivity.this, "Anda memilih "+menu[posisi], Toast.LENGTH_SHORT).show();
}
}
7 komentar
kk, mau tanya donk...
kalo saat menu diklik, terus masuk ke activity lain misal menampilkan list view lagi, itu gmn kk??
mohon bantuannya. Thanks
IF'09 ITN Malang
Maaf baru balas...
terima kasih sudah berkunjung...
Untuk pindah activity lain, pakai 'Explicit Intent'...
misal saya buat 2. ActivityPertama & ActivityKedua:
Intent i = new Intent(ActivityPertama.this, ActivityKedua.class);
startActivity(i);
script itu diletakkan di dalam action list view-nya.
salam...
:)
kaka mau tanya dong
ko aku eror di setContentView(R.layout.activity_list_view);
knp ya kaka?
terima kasih atas jawabanny...
Apakah bisa disertakan atau tampilkan pesan erorr-nya secara detail?
Bisa dicek pada Log/monitor console.
Karena ada beberapa kemungkinan penyebabnya.
Terima kasih telah berkunjung :)
pak kalo saya ingin pada saat listview di klik akan merubah posisi
misal saya klik no 5 terus nomer 5 itu pidah posisi jadi di nomer satu
mau tanya
gimana caranya kalo item listview yang sudah diklik pindah jadi paling atas sendiri?
Pada tutorial di atas, saya cantumkan hanya array 1 data saja yang menampilkan nama list.
Untuk merubah posisi, harus ditambahkan juga 1 parameter baru sebagai no urutnya.
Kemudian ketika ada event clicklistener, update data no urutnya yg diklik menjadi 1, dan no urut lainnya diupdate ditambah 1.
Kemudian render ulang list.
Masih ada cara lain, tergantung dari pemikiran masing-masing.
Terima kasih.
EmoticonEmoticon