Sorting Array pada ListView
Sebelumnya saya sudah menulis tentang simple listview yang menampilkan nama buah secara acak kedalam listview yang sudah disediakan. Pada kesempatan kali ini, saya akan membuat lanjutan dari aplikasi tersebut dengan menambahkan fitur sorting secara alphabet.String[] buah = new String[]{"Apel","Nangka","Belimbing","Jambu","Pisang","Jeruk","Mangga","Duren"};
Jika diperhatikan, array buah tersebut masih dalam keadaan acak, untuk itu saya akan menambahkan satu tombol untuk mengurutkan buah, berikut layout yang saya tambahkan.
![]() |
| Gambar 1: Layout |
buttonSort.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Arrays.sort(buah, String.CASE_INSENSITIVE_ORDER);
simplelist.setAdapter(adapterbuah);
}
});
Jadi pada saat tombol sort ditekan, maka array buah akan diatur ulang menggunakan Arrays.sort kemudian set kembali listview dengan adapter yang baru.
![]() |
| Gambar 2: Tampilan Sebelum Sort |
![]() |
| Gambar 3: Tampilan Sesudah Sort |
Source Code : Github
Membuat Simple List View
ListView digunakan untuk menampilkan content berupa list yang ditampilkan dilayar. Contohnya, saya memiliki sebuah array buah.String[] buah = new String[]{"Apel","Nangka","Belimbing","Jambu","Pisang","Jeruk","Mangga","Duren"};
Array buah ini akan ditampilkan kedalam listview sederhana yang berisi text buah tersebut. Langkah pertama yang harus dilakukan adalah menambahkan listview pada layout project android.
![]() |
| Gambar 1. Layout ListView |
<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" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:layout_alignParentTop="true" android:layout_alignParentStart="true" /> </RelativeLayout>
Setelah menambahkan listview pada layout yang dibuat, langkah selanjutnya adalah memanipulasi adapter listview pada method onCreate.
final ListView simplelist = (ListView) findViewById(R.id.listView); ArrayAdapter<String> adapterbuah = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,buah);
Perhatikan code diatas, pada line ArrayAdapter terdapat variable simple_list_item_1, ini merupakan layout bawaan dari android, ada beberapa tipe simple_list yang disediakan, karena saya hanya menampilkan 1 kata saja pada setiap list, cukup menggunakan simple list type 1. Setelah menentukan layout simple list, jangan lupa untuk mencantumkan array buah yang sudah dibuat.
simplelist.setAdapter(adapterbuah);
Kemudian set adapter untuk listview yang kita buat dengan code diatas.
Jika anda ingin menambahkan action ketika item tersebut diklik, tambahkan listener onClick pada listview yang kita buat.
simplelist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int itemposition = position;
String value = (String) simplelist.getItemAtPosition(position);
Toast.makeText(getApplicationContext(),"Position : "+position+" Value: "+value,Toast.LENGTH_SHORT).show();
}
});
Contoh yang saya buat diatas, ketika saya menekan item pada listview, saya buat agar menampilkan posisi dan nama buah yang saya pilih. Seperti gambar dibawah ini.
![]() |
| Gambar 2 : SimpleListView, Menampilkan alert. |
Sekian tutorial singkat tentang simple listview, sampai bertemu di topik selanjutnya.
Source Code lengkap dapat diunduh di : Github
Subscribe to:
Comments
(
Atom
)





No comments :
Post a Comment