Jumpa lagi dengan agus haryanto dalam seri tutorial android. Pada awal-awal seri tutorial android kita pernah membuat menu List tetapi tidak bertingkat. Seiring dengan berjalannya waktu, banyak juga yang menanyakan bagaimana caranya membuat List yang apabila salah satu menunya diklik atau disentuh maka akan muncul listlainnya. Nah tutorial kali ini akan membahas tentang List Bertingkat
Ingat tutorial kita Membuat Aplikasi bangun datar. Nah bagaimana caranya kalau pada aplikasi itu kita juga ingin membuat menu untuk bangun ruang dan matematika dasar. Nah sekarang kita buat menu untuk aplikasi matematika yang lebih lengkap, dengan struktur menu.
Sekarang mari kita buat projectnya
- Buka senjata kita untuk develop android yaitu eclipse, kemudian buat new project dengan nama ListBertingkat
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu
- main.xml
- string.xml
- ListBertingkat.java
2. Untuk List Menu ini kita tidak perlu melakukan perubahan pada file main.xml.
3. Sekarang mari kita buat otak dari aplikasi ini, buka ListBertingkat.java, lalu ketikkan seperti kode dibawah ini
package com.agus.list.tingkat; /** * Class ListBertingkat * @version 1.0 Apr 22, 2011 * @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net */ import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class ListBertingkat extends ListActivity { // Create an array of Strings, that will be put to our ListActivity String[] menuutama = new String[] { "Perhitungan", "Bangun Datar", "Bangun Ruang", "Keluar Aplikasi" }; String[] bangundatar = new String[] { "Persegipanjang", "Bujursangkar", "Segitiga", "Lingkaran", "Menu Utama" }; String[] bangunruang = new String[] { "Kubus", "Balok", "Tabung", "Limas", "Menu Utama" }; String[] perhitungan = new String[] { "Penambahan", "Pengurangan", "Perkalian", "Pembagian", "Menu Utama" }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an ArrayAdapter, that will actually make the Strings above // appear in the ListView // Menset nilai array ke dalam list adapater sehingga data pada array // akan dimunculkan dalam list this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuutama)); } @Override /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih */ protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); // Get the item that was clicked // Menangkap nilai text yang dklik Object o = this.getListAdapter().getItem(position); String pilihan = o.toString(); // cek nilai pilihan, disini akan ditentukan akan masuk ke sub list atau // membuka form // atau keluar aplikasi if (pilihan.equals("Perhitungan")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, perhitungan)); } else if (pilihan.equals("Bangun Datar")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangundatar)); } else if (pilihan.equals("Bangun Ruang")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bangunruang)); } else if (pilihan.equals("Menu Utama")) { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuutama)); } else if (pilihan.equals("Keluar Aplikasi")) { this.finish(); } else { tampilkanPilihan(pilihan); } } private void tampilkanPilihan(String pilihan) { Toast.makeText(this, "Membuka Form " + pilihan, Toast.LENGTH_LONG) .show(); } }
Dalam pembuatan menu tentunya kita harus menentukan daftar item dari suatu list menu. Nah dalam hal ini kita siapkan dalam bentuk arrary
String[] menuutama = new String[] { "Perhitungan", "Bangun Datar", "Bangun Ruang", "Keluar Aplikasi" }; String[] bangundatar = new String[] { "Persegipanjang", "Bujursangkar", "Segitiga", "Lingkaran", "Menu Utama" }; String[] bangunruang = new String[] { "Kubus", "Balok", "Tabung", "Limas", "Menu Utama" }; String[] perhitungan = new String[] { "Penambahan", "Pengurangan", "Perkalian", "Pembagian", "Menu Utama" };
Nah array-array inilah yang akan kitas set kedalam suatu adapter list.
4. Edit file AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.agus.list.tingkat" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ListBertingkat" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> </manifest>
5. Semua telah selesai dibuat sekarang saatnya untuk menjalankan programnya.
Tampilan yang pertamakali muncul adalah menu yang terdapat pada array menuutama
Klik atau sentuh menu Perhitungan, akan tampil menu perhitungan (list menu berasal dari array perhitungan)
Pada menu ini ada pilihan Menu Utama yang fungsinya untuk kembali ke Menu Utama. Repot jugakan kalau sudah masuk ke Sub Menu tapi tidak bisa kembali ke Menu Utama.
Silahkan Klik dan Sentuh Menu-menu lainnya rasakan dan pahami perbedannya.
Gimana setelah membaca tutorial ini, mudahkan membuat Menu List Bertingkat.
Semoga Bermanfaat
Agus Haryanto
Mas mau tanya kalau disetip di file .xml ada tulisan kayak dibawah ini maksudnya apaanya
“http://schemas.android.com/apk/res/android”
Sama Kaya Aplikasi yang saya buat, pake Menu list bertingkat jgua hahahah
nice Artikel bung agus.. lanjutkan
Banyak Terinspirasi dari website bung agus…
Good… Good… Good..
web sitenya oke mas. Mas pas saya nambah file xml untuk menu nya kok tidak digenerate di R.Java ya? apa harus setelah menuliskan file java nya dulu?
eh sudah terjawab mas. ternyata nama file xml di res/layout nya ada yg huruf besar. ternyata itu berpengaruh terhadap generate R.java 😀
mas klau mau tambah tingkatan list lg perlu tambahan kode yg mana……..mohon bimbinganya mas he…..
mas agus bisa bkinin tutorial memasukan vidio di projeck android gk mas??
makasi sebelumnya ^_^
Mas kl Listview bisa di isi sama image + edittext ga?
kl bisa caraya gmn?
mohon pencerahannya mas.. 🙂
mas mau agus mau nanya klo udh buat menu string klo dalam menu itu di masukkan gambar sampingnya misal persegi panjang lalu gambar persegi panjang bs ga mas ? mos d bantu
saya sudah mengikuti tutorial yg membuat menu list . tapi di androidmanifest.xml nya error di bagian <manifest xmlns:android="http://schemas.android.com/apk/res/android" katanya Multiple annotations found at this line:
– Content is not allowed in prolog.
– ERROR Error parsing XML:
syntax erro
mas mau nanyak kalo mau hubungin menu list ke maps caranya gman ya..
ow…klo td pake array…kalo list nya ngeload dari database gmn y caranya??? mohon pencerahannya …
mas agus,,, mau nanya. kalo misal ada menu list, trus mau buat searching pada list tersebut. gimana ya caranya???? Mohon bantuannya 🙂
mas, kalo mau nambahin misalnya rumus tuh scriptnya di taro di sebelah mana yah??misal kita pilih persegi panjang, nah langsung rumus persegi panjang muncul….
ok gan..
Om agus thanks banget atas tutorialnya !
saya jadi bisa bikin aplikasi face recognize,,,,
buat materi Tugas Akhir saya thank you bgt yah….
hahahahahahaha
keep move for a better learning most of view like a wise man….!
Kalau salah satu text-nya mau di kasih warna gimana ya? atau backgroundnya aja yang dirubah warnanya.. misal cuma Menu Utama teks/ backgroundnya ganti merah, gmn tuh? mohon pencerahannya.
Mas kalo misalnya back ke menu utama tanpa harus menekan tombol Menu Utama (tombol back HP) gmn?
aq dapet error force close ketika… anggap saja di tutorial om agus perhitungan > perkalian {/* i will do something in here */} __
gimana sih cara menset click listener pada adapterlist yang level 2, kok dijadiin 1 kagak bisa >.<
saya juga satu pikiran sama si dimz…..nambahin supaya muncul activity perhitungan luas, wktu kita pilih menu persegi panjang….gimana ya mas??
@natanel, Coba deh cek tutorial Aplikasi Bangun Datar, gabungkan dengan tutorial ini, pahami konsep explicit intent
mas kalau menu bertingkatnya berasal dari data yang kita ambil dari penyimpanan SQLite bagaimana syntaknya? saya sedang dalam tugas kampus dan kira-kira konsepnya itu list setelah list berasal dari data yang diambil (query) dari SQLite. tapi saya masih bingung mas :s mohon pencerahan..
Maaf Bapak, saya mau tanya
agar listnya berwarna putih dan terlihat bersih seperti aplikasi yg bapak share di link http://agusharyanto.net/wordpress/?p=517 caranya bagaimana ya?
saya lihat listnya ini terlalu besar fontnya. Terima kasih atas sharingnya 🙂
Terus berkarya mas. terima kasih atas ilmu nya..
mas aku udh coba gabungin tutorial ini sma membuat bangun datar,
seperti yg mas blg sma natael
tp mentok mas 🙂
mohon bantuannya..
Kug saya eror iya di bagian manifestx..di kalimat ini
knp pak iya
mas qw cba yang list ko slah..
mohon bantuanya mas…
cara masukan foto dan musik gmn mas bantunya uga ya….
mau nanya mas kan list menunya udah jadi, itu klo mau aktifin list menu perhitungan form yang penambahan, itu caranya gimana mas & masukin codingnya kemana?
mohon bantuan mas Agus
kalo saat pembuatan menu bertingkat bukan pake Textview tapi pake button apakah listing programnya juga hampir sama?
gimana caranya mengkoneksikan aplikasi yang kita buat connect ke internet, karena sy mau buat aplikasi yang bisa melihat tampilan cctv lewat ip cam dan bisa mengendalikan kunci pintu?
gimana caranya menggabungkan antara eclipse dengan arduinonya?
mohon penjelasan.
Terimakasih
mas agus kalau mau di tambah kan
“Posted on : ” kemudia tanggal yang di ambil dari RSS bagaimana ya mas … ???
mas agus tolong kasih tau dong cara nya membuat kamus dengan suara terjemahannya, sebelumnya terima kasih y mas agus
mas kalau mau di tambahkan dengan koneksi ke form..misal kalau “penambahan” di klik maka akan membuka form baru untuk melakukan proses penjumlahan. . .itu gimana ya?? mohon bimbingannya
@alam : Coba anda baca dulu http://agusharyanto.net/wordpress/?p=469 mas, mungkin itu yang anda cari…
hehehe…
semoga membantu…
Selamat mencoba & terus semangat!
hehehe ok ok mas bro… thanks…
oh yah nih ada masalah baru,, gimana kalau di sub list penjumlahan mau ditambahkan sublist lagi di dalamnya….codenya gimana mas???
mas agus , ko list bertingkat ga bisa dikasi gambar baik imageview atau background ??
mohon bantuannya dan solusinya mass
tengkyuuuuuuuuuuuuuuuuuuu artikelnya 😀
mas agus memang gaullll
#skripsi
mas, kalo listviewnya dikasi search bisa gak ?
kan ribet kalo listnya banyak trus harus cari satu per satu..
Mohon bantuannya mas..
@dwiky, Bisa pakai autocompletetextview, tapi kalau memang tetap pakai list, tinggal dipasang watcher saja diedittextnya setiap perubahan kata dia refresh list.
ok mas.., saya coba dulu
makasi sarannya mas…
mas kalau mau di tambahkan dengan koneksi ke form..misal kalau “penambahan” di klik maka akan membuka form baru untuk melakukan proses penjumlahan gmn mas …?
bagaiamana caranya membuat context menu untuk search, copy, paste disini seandainya ini merupakan tampilan textview smua…mohon pencerahannya?
mas, klo list menu nya bisa di show hide ga ?
jadi menu2 nya dalam satu halaman, klo menu utamanya nya di klik nanti muncul sub menu dlm bentuk checbox yg bisa di pilih
Mohon bantuannya mas….
mas ini src code buat main.xml nya kok gda y?
boleh mnta scripnya?