Cara Membuat List ArrayAdapter Pada Android

1
  1. Bukalah aplikasi eclipde anda dan buatlah project baru dengan nama ArrayAdapter2, kenapa saya berinama demikian karena ini masih lanjutan dari project yang telah kita buat sebelumnya seperti yang telah dijelaskan diatas. (berinama file xml dengan nama main.xml dan file java dengan nama Almag.java
  2. 8
  3. Double klik file main.xml
  4. 3

  5. Tambahkan coding pada file main.xml seperti dibawah ini
  6.     android:id=”@android:id/tabhost”
  7.     android:layout_width=”fill_parent”
  8.     android:layout_height=”wrap_content”
  9.   >
  10.     <LinearLayout
  11.        android:layout_width=”fill_parent”
  12.        android:layout_height=”fill_parent”
  13.        android:orientation=”vertical” >
  14.        <TabWidget
  15.            android:id=”@android:id/tabs”
  16.            android:layout_width=”fill_parent”
  17.            android:layout_height=”wrap_content” />
  18.        <FrameLayout
  19.            android:id=”@android:id/tabcontent”    
  20.            android:layout_width=”fill_parent”
  21.            android:layout_height=”fill_parent”>
  22.            <ListView
  23.                android:id=”@+id/almag”
  24.                android:layout_width=”fill_parent”
  25.                android:layout_height=”fill_parent”/>
  26.            <TableLayout
  27.                android:id=”@+id/details”
  28.                android:layout_width=”fill_parent”
  29.                android:layout_height=”wrap_content”       
  30.                android:paddingTop=”4px”
  31.                android:stretchColumns=”1″ >
  32.                <TableRow >
  33.                    <TextView android:text=”Nama:” />
  34.                    <EditText android:id=”@+id/nama” />
  35.                </TableRow>
  36.                <TableRow>
  37.                    <TextView android:text=”Jekel:” />
  38.                    <RadioGroup android:id=”@+id/jekel” >
  39.                        <RadioButton
  40.                            android:id=”@+id/pria”
  41.                            android:text=”Pria” />
  42.                      
  43.                        <RadioButton
  44.                            android:id=”@+id/perempuan”
  45.                            android:text=”Perempuan” />
  46.                    </RadioGroup>
  47.                  
  48.                </TableRow>
  49.                <TableRow>
  50.                    <TextView android:text=”Alamat:” />
  51.                    <EditText android:id=”@+id/alamat” />
  52.                </TableRow>
  53.                <Button
  54.                    android:id=”@+id/save”
  55.                    android:layout_width=”fill_parent”
  56.                    android:layout_height=”wrap_content”
  57.                    android:text=”Save” />
  58.            </TableLayout>
  59.        </FrameLayout>
  60.     </LinearLayout>
  61. </TabHost>
  62. Jika sudah hasil tampilan project akan seperti gambar dibawah ini
  63. 7
  64. Buatlah xml baru, klik kanan pada layout -> New -> Android XML File beri nama row.xml
  65. 5

  66. Ganti Coding pada row yang telah kita buat menjadi seperti ini .
  67. <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
  68.     android:layout_width=”fill_parent”
  69.     android:layout_height=”wrap_content”
  70.     android:orientation=”horizontal”
  71.     android:padding=”4px” >
  72.     <ImageView
  73.        android:id=”@+id/icon”
  74.        android:layout_width=”wrap_content”
  75.        android:layout_height=”fill_parent”
  76.        android:layout_alignParentBottom=”true”
  77.        android:layout_alignParentTop=”true”
  78.        android:layout_marginRight=”4px” />
  79.     <LinearLayout
  80.        android:layout_width=”fill_parent”
  81.        android:layout_height=”wrap_content”
  82.        android:orientation=”vertical” >
  83.        <TextView
  84.            android:id=”@+id/title”
  85.            android:layout_width=”fill_parent”
  86.            android:layout_height=”wrap_content”
  87.            android:layout_weight=”1″
  88.            android:ellipsize=”end”
  89.            android:gravity=”center_vertical”
  90.            android:singleLine=”true”
  91.            android:textStyle=”bold” />
  92.        <TextView
  93.            android:id=”@+id/alamat”
  94.            android:layout_width=”fill_parent”
  95.            android:layout_height=”wrap_content”
  96.            android:layout_weight=”1″
  97.            android:ellipsize=”end”
  98.            android:gravity=”center_vertical”
  99.            android:singleLine=”true” />
  100.     </LinearLayout>
  101. </LinearLayout>
  102. Pada packages/src double klik almag.java kita akan menngubah coidng file ini menjadi sperti berikut :
  103. package com.arrayadapter2;
  104. public class almag {
  105. private String nama = “”;
  106.     private String alamat = “”;
  107.     private String jekel = “”;
  108.     public String getNama() {
  109.        return (nama);
  110.     }
  111.     public void setNama(String nama) {
  112.        this.nama = nama;
  113.     }
  114.     public String getAlamat() {
  115.        return (alamat);
  116.     }
  117.     public void setAlamat(String alamat) {
  118.        this.alamat = alamat;
  119.     }
  120.     public String getJekel() {
  121.        return (jekel);
  122.     }
  123.     public void setJekel(String jekel) {
  124.        this.jekel = jekel;
  125.     }
  126.     public String toString() {
  127.        return (getNama());
  128.     }
  129.    
  130. }
  131. Kemudian buat lagi class baru dengan nama Array3.java dan modifikasi isi coding dari file tersebut seperti dibawah ini
  132. 6
  133. package com.arrayadapter2;
  134. import java.util.ArrayList;
  135. import java.util.List;
  136. import android.os.Bundle;
  137. import android.app.TabActivity;
  138. import android.view.LayoutInflater;
  139. import android.view.View;
  140. import android.view.ViewGroup;
  141. import android.widget.AdapterView;
  142. import android.widget.ArrayAdapter;
  143. import android.widget.Button;
  144. import android.widget.EditText;
  145. import android.widget.ImageView;
  146. import android.widget.ListView;
  147. import android.widget.RadioGroup;
  148. import android.widget.TabHost;
  149. import android.widget.TextView;
  150. public class Array3 extends TabActivity {
  151.     List<almag> model = new ArrayList<almag>();
  152.     almagAdapter adapter = null;
  153.     EditText nama = null;
  154.     EditText alamat = null;
  155.     RadioGroup jekel = null;
  156.     @Override
  157.     public void onCreate(Bundle savedInstanceState) {
  158.        super.onCreate(savedInstanceState);
  159.        setContentView(R.layout.main);
  160.        nama = (EditText) findViewById(R.id.nama);
  161.        alamat = (EditText) findViewById(R.id.alamat);
  162.        jekel = (RadioGroup) findViewById(R.id.jekel);
  163.        Button save = (Button) findViewById(R.id.save);
  164.        save.setOnClickListener(onSave);
  165.        ListView list = (ListView) findViewById(R.id.almag);
  166.        adapter = new almagAdapter();
  167.        list.setAdapter(adapter);
  168.        TabHost.TabSpec spec = getTabHost().newTabSpec(“tag1”);
  169.        spec.setContent(R.id.almag);
  170.        spec.setIndicator(“List”, getResources().getDrawable(R.drawable.list));
  171.        getTabHost().addTab(spec);
  172.        spec = getTabHost().newTabSpec(“tag2”);
  173.        spec.setContent(R.id.details);
  174.        spec.setIndicator(“Details”,
  175.                getResources().getDrawable(R.drawable.alamat));
  176.        getTabHost().addTab(spec);
  177.        getTabHost().setCurrentTab(0);
  178.        list.setOnItemClickListener(onListClick);
  179.     }
  180.     private View.OnClickListener onSave = new View.OnClickListener() {
  181.        public void onClick(View v) {
  182.            almag r = new almag();
  183.            r.setNama(nama.getText().toString());
  184.            r.setAlamat(alamat.getText().toString());
  185.            switch (jekel.getCheckedRadioButtonId()) {
  186.            case R.id.pria:
  187.                r.setJekel(“Pria”);
  188.                break;
  189.            case R.id.perempuan:
  190.                r.setJekel(“Perempuan”);
  191.                break;
  192.            }
  193.            adapter.add(r);
  194.        }
  195.     };
  196.     private AdapterView.OnItemClickListener onListClick = new AdapterView.OnItemClickListener() {
  197.        public void onItemClick(AdapterView<?> parent, View view, int position,
  198.                long id) {
  199.            almag r = model.get(position);
  200.            nama.setText(r.getNama());
  201.            alamat.setText(r.getAlamat());
  202.            if (r.getJekel().equals(“Pria”)) {
  203.                jekel.check(R.id.pria);
  204.            } else if (r.getJekel().equals(“Perempuan”)) {
  205.                jekel.check(R.id.perempuan);
  206.            }
  207.            getTabHost().setCurrentTab(1);
  208.        }
  209.     };
  210.     class almagAdapter extends ArrayAdapter<almag> {
  211.        almagAdapter() {
  212.            super(Array3.this, R.layout.row, model);
  213.        }
  214.        public View getView(int position, View convertView, ViewGroup parent) {
  215.            View row = convertView;
  216.            almagHolder holder = null;
  217.            if (row == null) {
  218.                LayoutInflater inflater = getLayoutInflater();
  219.                row = inflater.inflate(R.layout.row, parent, false);
  220.                holder = new almagHolder(row);
  221.                row.setTag(holder);
  222.            } else {
  223.                holder = (almagHolder) row.getTag();
  224.            }
  225.            holder.populateFrom(model.get(position));
  226.            return (row);
  227.        }
  228.     }
  229.     static class almagHolder {
  230.        private TextView nama = null;
  231.        private TextView alamat = null;
  232.        private ImageView icon = null;
  233.        private View row = null;
  234.        almagHolder(View row) {
  235.            this.row = row;
  236.            nama = (TextView) row.findViewById(R.id.title);
  237.            alamat = (TextView) row.findViewById(R.id.alamat);
  238.            icon = (ImageView) row.findViewById(R.id.icon);
  239.        }
  240.        void populateFrom(almag r) {
  241.            nama.setText(r.getNama());
  242.            alamat.setText(r.getAlamat());
  243.            if (r.getJekel().equals(“Pria”)) {
  244.                icon.setImageResource(R.drawable.pria);
  245.            } else if (r.getJekel().equals(“Perempuan”)) {
  246.                icon.setImageResource(R.drawable.perempuan);
  247.            }
  248.        }
  249.     }
  250. }
  251. Runninglah hasil project yang telah buat, jika berhasil tampilannya akan seperti dibawah ini ketika telah diinputkan data ..
1

Komentar

Postingan populer dari blog ini

Cara Buat Form Login & Register Database MYSQL Dengan Eclipse Adt

Cara Buat Aplikasi Android Biodata

Cara Buat Aplikasi Android From Login & Register