Android : Membuat Daftar Item Sederhana

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Download Kode Sumber Aplikasi yang Dibahas di Tutorial ini : [wpdm_file id=4]

Mari kita berlatih lagi. Kali ini kita akan membuat sebuah daftar item sederhana di Android.

Seperti biasa kita buat New Android Project.

Kita set activity_main.xml menampilkan layout seperti berikut :

Pertama-tama kita akan membutuhak komponen ListView dari kategori Composite di pallete Eclipse ADT, seperti tampak pada gambar berikut :

Screenshot from 2014-06-19 14:11:09

Kodenya tampak seperti berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
 
    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" >
 
    </ListView>
 
</RelativeLayout>

Kita siapkan juga tampilan jika sebuah item diklik. Kita namakan isibab.xml seperti berikut :

Screenshot from 2014-06-19 14:33:12

Kodenya tampak seperti berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="14dp"
        android:layout_marginTop="36dp"
        android:text="@string/judul_bab" />
 
</RelativeLayout>

Kita buatkan pula Class untuk layout ini, kita namakan BabTunggal.java dengan kode seperti berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.eclipseprogramming.riyadhusshalihin;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
 
public class BabTunggal extends Activity {
    String Bab;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.isibab);
 
        TextView teksBab = (TextView) findViewById(R.id.textView1);
 
        Intent i = getIntent();
        Bab = i.getStringExtra("Bab");
 
        teksBab.setText(Bab);
 
    }
 
}

Jangan lupa daftarkan file tersebut di ManifestAndroid.xml :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
    package="com.eclipseprogramming.riyadhusshalihin"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.eclipseprogramming.riyadhusshalihin.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
            <activity android:name=".BabTunggal"></activity>
    </application>
 
</manifest>

Berikutnya mari kita buat daftar sumber ke dalam bentuk Array di file MainActivity.java :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
public class MainActivity extends ActionBarActivity {
 
    ListView listView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);
 
        String[] BabRiyadhusShalihin = new String[] {
                "A. Biografi Imam Nawawi",
                "B. Mengenal Kitab Riyadhus Shalihin",
                "BAB 1. Ikhlas dan Menghadirkan Niat Dalam Setiap Perbuatan dan Ucapan, Baik yang Terang-terangan maupun yang Sembunyi-sembunyi",
                "BAB 2. Taubat",
                "BAB 3. Sabar",
                "BAB 4. Kejujuran",
                "BAB 5. Muraqabah (Merasa Selalu Diawasi Allah)",
                "BAB 6. Taqwa",
                "BAB 7. Keyakinan dan Tawakal"
        };
 
        listView = (ListView) findViewById(R.id.listView1);

Lalu kita bind string arraynya ke dalam suatu adapter :

1
2
3
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,BabRiyadhusShalihin);
        listView.setAdapter(adapter);

Kemudian kita tangkap klik pada item ListView :

1
2
3
4
listView.setOnItemClickListener(new OnItemClickListener() {
 
           public void onItemClick(AdapterView<?> parent, View view,
                   int position, long id) {

Bagian berikutnya adalah menangkap posisi klik dan mengesetnya menjadi sebuah string :

1
String Bab = (String) listView.getItemAtPosition(position);

Kemudian meluncurkan BabTunggal.java menggunakan Intent :

1
Intent i = new Intent(MainActivity.this, BabTunggal.class);

Mengirimkan string yang ditangkap ke BabTunggal.java :

1
i.putExtra("Bab", Bab);

Dan akhirnya menjalankan BabTunggal.java :

1
2
3
    startActivity(i);
 
}

Jika dijalankan maka tampilan aplikasi kita akan tampak seperti berikut :

device-2014-06-19-165749

Jika salah satu item dipilih maka akan tampil string sederhana seperti ini :

device-2014-06-19-170756

About Reza Ervani 431 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.