Blog Request tutorial? klik disini!

  • Membuat ListView Dengan SetOnItemClickListener Dan Intent

    Ditulis oleh: Arya Febiyan
    4859 kali dibaca
    04 Sep / 2014 08:18

    Pagi ini Saya akan mengajarkan dan berbagi ilmu bagaimana membuat Membuat ListView Dengan setOnItemClickListener dan Intent serta nanti akan ada kasus kondisi if else dimana ketika meng-klik data list A akan mengarah ke file A.java kemudian akan menampilkan Toast. Tutorial ini menggunakan array sederhana untuk data list-nya.

    Tutorial ini untuk menjawab konsultasi murid DUMET School yang saat ini sedang belajar android di DUMET School, berikut tutorialnya :

    Berikut file strings.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <string name="app_name">ListView From Array</string>
        <string name="action_settings">Settings</string>
        <string name="title_activity_">A</string>
        <string name="hello_world">Hello world!</string>
        <string name="title_activity_b">B</string>
        <string name="title_activity_c">C</string>
    
    </resources>
    

    Berikut file fragment_main.xml :

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    </ListView>

    Berikut file manifest.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.androidlistviewfromarray"
        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.androidlistviewfromarray.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="com.androidlistviewfromarray.A"
                android:label="@string/title_activity_" >
            </activity>
            <activity
                android:name="com.androidlistviewfromarray.B"
                android:label="@string/title_activity_b" >
            </activity>
            <activity
                android:name="com.androidlistviewfromarray.C"
                android:label="@string/title_activity_c" >
            </activity>
        </application>
    
    </manifest>
    

    Berikut file MainActivity.java :

    public static class PlaceholderFragment extends Fragment {
           
            Intent intent;
            ListView listview;
            String e[] = {
                    "A", "B", "C", "D", "E", "F",
                    "G", "H", "I", "J", "K", "L", "M"
            };
           
            public PlaceholderFragment() {
            }
    
            @Override
            public View onCreateView(LayoutInflater i, ViewGroup c, Bundle s) {
                View rootView = i.inflate(R.layout.fragment_main, c, false);
                
                listview = (ListView)rootView.findViewById(R.id.listview);
    
                /*
                 *  ArrayAdapter<T> = T Tergantung Dari Tipe Data Variabel,
                 *  Jika String Maka Isi String, Jika Integer Maka Tulis Integer
                 */
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                        getActivity(),
                        android.R.layout.simple_list_item_1, e
                );
                
                // set data
                listview.setAdapter(adapter);
                
                listview.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int p, long id) {
                        if (position == 0) {
                            intent = new Intent(getActivity(), A.class);
                            startActivity(intent);
                        } else if (position == 1) {
                            intent = new Intent(getActivity(), B.class);
                            startActivity(intent);
                        } else if (position == 2) {
                            intent = new Intent(getActivity(), C.class);
                            startActivity(intent);
                        } else {
                            Toast t = Toast.makeText(getActivity(), e[p], Toast.LENGTH_SHORT);
                            t.setGravity(Gravity.CENTER|Gravity.CENTER, 0, 0);
                            t.show();
                        }
                    }
                });
                
                return rootView;
            }
        }

    Berikut file A.java :

    public static class PlaceholderFragment extends Fragment {
    
        public PlaceholderFragment() {
        }
    
        @Override
        public View onCreateView(LayoutInflater i, ViewGroup c, Bundle s) {
            View rootView = i.inflate(R.layout.fragment_a, c, false);
           
            Toast toast = Toast.makeText(getActivity(), "A", Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER|Gravity.CENTER, 0, 0);
            toast.show();
           
            return rootView;
        }
    }

    Berikut file B.java :

    public static class PlaceholderFragment extends Fragment {
    
        public PlaceholderFragment() {
        }
    
        @Override
        public View onCreateView(LayoutInflater i, ViewGroup c, Bundle s) {
            View rootView = i.inflate(R.layout.fragment_a, c, false);
           
            Toast toast = Toast.makeText(getActivity(), "B", Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER|Gravity.CENTER, 0, 0);
            toast.show();
           
            return rootView;
        }
    }

    Berikut file C.java :

    public static class PlaceholderFragment extends Fragment {
    
        public PlaceholderFragment() {
        }
    
        @Override
        public View onCreateView(LayoutInflater i, ViewGroup c, Bundle s) {
            View rootView = i.inflate(R.layout.fragment_a, c, false);
           
            Toast toast = Toast.makeText(getActivity(), "C", Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER|Gravity.CENTER, 0, 0);
            toast.show();
           
            return rootView;
        }
    }

    Berikut adalah outputnya :

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent

    Membuat ListView Dengan setOnItemClickListener dan Intent






Baca juga

Rukan Artha Gading Niaga Blok i - 23, Jalan Boulevard Artha Gading

Kelapa Gading, Jakarta Utara 14240

(Belakang Mall Artha Gading)

Telp: (021) 4585-0387


Ruko Permata Regensi Blok B - 18, Jalan Haji Kelik

Srengseng, Kebon Jeruk, Jakarta Barat 11630

(Depan Hutan Kota Srengseng)

Telp: (021) 5890-8355


Ruko Jalan Taman Daan Mogot Raya No. 23

Kel. Tanjung Duren Utara Kec. Grogol Petamburan, Jakarta Barat 11470

(Belakang Mall Citraland dan Kampus UNTAR II)

Telp: (021) 2941-1188


Ruko Jalan Kartini Raya No. 53

Pancoran Mas, Depok 16436

(± 5 Menit dari Kantor Walikota Depok)

Telp: (021) 7720-7657


Rukan Crown Palace Blok A no 12, Jl Prof Dr Soepomo no 231 (Samping Universitas Sahid).

Kec. Tebet, Kel. Menteng Dalam.

(± 1 Menit dari Tugu Pancoran)

Jakarta Selatan 12870

Telp: (021) 2298-3886

Buka setiap hari Senin - Minggu jam 09.00 s/d 21.00

SMS: 0851-0055-5666 / 0819-7555-666 / 0812-9933-3913 / 0812-9393-3210 / 0812-1999-9155