Minggu, 06 Oktober 2013

Aplikasi Array3

Pada aplikasi array3 ini berisi tentag kostumisasi aplikasi array2, di mana layar tampilan akan kita bagi menjadi dua tab, tab yang pertama berisi list-list data yang sudah diinputkan (tidak lagi satu layar tampilan seperti aplikasi array2), tab yang kedua berisi dengan tampilan layout inputan data , kemudian pada tabpertama yang bersisi list-list akan kita ciba buat tampilan gambar png sebagai tampilan list beserta nama inputan, apabila dia adalah inputan yang berjenis kelamin pria akan muncul icon pria sebbelum list namanya, begitu juga apabila dia adalah list inputan yang perempuan, maka icon perempuan sebelum list namanya, berikut adalah icon-icon yang kita butuhksn dan fungsinya.


Icon1 untuk tampilan tab yang berisi inputan data almag (alamat manager)
Icon2 untuk tampilan tab yang berisi list-list yang sudah diinput
Icon3 untuk tampilan list data yang berjenis kelamin parampuan
Icon4 untuk tampilan list data yang berjenis kelamin pria.

Untuk mempermudah kita dalam mrancang tampilan layout xml, berikut kita tampilkan hasil layout tampilan yang kita inginkan.
Dari tampilan di bawah, kita membutuhkan dua buah tampilan layout xml yaitu main.xml dan row.xml. Buatlah project baru seperti ketentuan berikut:




main.xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@android:id/tabhost"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TabWidget android:id="@android:id/tabs"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
            />
            <FrameLayout android:id="@android:id/tabcontent"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
            >
                  <ListView android:id="@+id/almag"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                  />
                  <TableLayout android:id="@+id/details"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:stretchColumns="1"
                        android:paddingTop="4px"
                        >
                        <TableRow>
                              <TextView android:text="Nama:" />
                              <EditText android:id="@+id/nama" />
                        </TableRow>
                       
                        <TableRow>
                              <TextView android:text="Jekel:" />
                              <RadioGroup android:id="@+id/jekel">
                                    <RadioButton android:id="@+id/pria"
                                          android:text="Pria"
                                    />
                                    <RadioButton android:id="@+id/perempuan"
                                          android:text="Perempuan"
                                    />
                                   
                              </RadioGroup>
                             
                              </TableRow>
                              <TableRow>
                              <TextView android:text="Alamat:" />
                              <EditText android:id="@+id/alamat" />
                            </TableRow>
                       
                        <Button android:id="@+id/save"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content"
                              android:text="Save"
                        />
                  </TableLayout>
            </FrameLayout>
      </LinearLayout>
</TabHost>



row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      android:padding="4px"
      >
      <ImageView android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_marginRight="4px"
      />
      <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >    
            <TextView android:id="@+id/title"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center_vertical"
                  android:textStyle="bold"
                  android:singleLine="true"
                  android:ellipsize="end"
            />
            <TextView android:id="@+id/alamat"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center_vertical"
                  android:singleLine="true"
                  android:ellipsize="end"
            />
      </LinearLayout>
</LinearLayout>



Kita msih menggunakan almag.java
package com.immobulus.array3;
public class almag {
      private String nama="";
      private String alamat="";
      private String jekel="";
     
      public String getNama() {
            return(nama);
      }
     
      public void setNama(String nama) {
            this.nama=nama;
      }
      public String getAlamat() {
            return(alamat);
      }
     
      public void setAlamat(String alamat) {
            this.alamat=alamat;
      }
     
      public String getJekel() {
            return(jekel);
      }
     
      public void setJekel(String jekel) {
            this.jekel=jekel;
      }
     
      public String toString() {
            return(getNama());
      }
}



array3.java

package com.immobulus.array3;

import android.app.TabActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.LayoutInflater;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.TabHost;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;

public class array3 extends TabActivity {
      List<almag> model=new ArrayList<almag>();
      almagAdapter adapter=null;
      EditText nama=null;
      EditText alamat=null;
      RadioGroup jekel=null;
     
      @Override
      public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            nama=(EditText)findViewById(R.id.nama);
            alamat=(EditText)findViewById(R.id.alamat);
            jekel=(RadioGroup)findViewById(R.id.jekel);
           
            Button save=(Button)findViewById(R.id.save);
           
            save.setOnClickListener(onSave);
           
            ListView list=(ListView)findViewById(R.id.almag);
           
            adapter=new almagAdapter();
            list.setAdapter(adapter);
           
            TabHost.TabSpec spec=getTabHost().newTabSpec("tag1");
           
            spec.setContent(R.id.almag);
            spec.setIndicator("List", getResources()
                                                                                                .getDrawable(R.drawable.list));
            getTabHost().addTab(spec);
           
            spec=getTabHost().newTabSpec("tag2");
            spec.setContent(R.id.details);
            spec.setIndicator("Details", getResources()
                                                                                                      .getDrawable(R.drawable.alamat));
            getTabHost().addTab(spec);
           
            getTabHost().setCurrentTab(0);
           
            list.setOnItemClickListener(onListClick);
      }
     
      private View.OnClickListener onSave=new View.OnClickListener() {
            public void onClick(View v) {
                  almag r=new almag();
                  r.setNama(nama.getText().toString());
                  r.setAlamat(alamat.getText().toString());
                 
                  switch (jekel.getCheckedRadioButtonId()) {
                        case R.id.pria:
                              r.setJekel("Pria");
                              break;
                             
                        case R.id.perempuan:
                              r.setJekel("Perempuan");
                              break;
                             
                       
                  }
                 
                  adapter.add(r);
            }
      };

private AdapterView.OnItemClickListener onListClick=new 
AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent,
   View view, int position,  long id) 
{
                  almag r=model.get(position);
                 
                  nama.setText(r.getNama());
                  alamat.setText(r.getAlamat());
                 
                  if (r.getJekel().equals("Pria")) {
                        jekel.check(R.id.pria);
                  }
                  else if (r.getJekel().equals("Perempuan")) {
                        jekel.check(R.id.perempuan);
                  }
                 
                 
                  getTabHost().setCurrentTab(1);
            }
      };
     
      class almagAdapter extends ArrayAdapter<almag> {
            almagAdapter() {
                  super(array3.this, R.layout.row, model);
            }
           
            public View getView(int position, View convertView,
                                                                        
ViewGroup parent) {
                  View row=convertView;
                  almagHolder holder=null;
                 
                  if (row==null) {                                                                         
                        LayoutInflater inflater=getLayoutInflater();
                       
                        row=inflater.inflate(R.layout.row, parent, false);
                        holder=new almagHolder(row);
                        row.setTag(holder);
                  }
                  else {
                        holder=(almagHolder)row.getTag();
                  }
                 
                  holder.populateFrom(model.get(position));
                 
                  return(row);
            }
      }
     
static class almagHolder {
            private TextView nama=null;
            private TextView alamat=null;
            private ImageView icon=null;
            private View row=null;
           
            almagHolder(View row) {
                  this.row=row;
                 
                  nama=(TextView)row.findViewById(R.id.title);
                  alamat=(TextView)row.findViewById(R.id.alamat);
                  icon=(ImageView)row.findViewById(R.id.icon);
            }
           
            void populateFrom(almag r) {
                  nama.setText(r.getNama());
                  alamat.setText(r.getAlamat());
     
                  if (r.getJekel().equals("Pria")) {
                        icon.setImageResource(R.drawable.pria);
                  }
                  else if (r.getJekel().equals("Perempuan")) {
                        icon.setImageResource(R.drawable.perempuan);
                  }
                 
            }
      }
}




Pada tab1 adalah menempatkan inputan data pada Tab2 menemppatkan list-list yang sudah
diinput, seperti coding berikut: 


TabHost.TabSpec spec=getTabHost().newTabSpec("tag1");
           
            spec.setContent(R.id.almag);
            spec.setIndicator("List", getResources()
                                                                                                .getDrawable(R.drawable.list));
            getTabHost().addTab(spec);
           
            spec=getTabHost().newTabSpec("tag2");
            spec.setContent(R.id.details);
            spec.setIndicator("Details", getResources()
                                                                                                      .getDrawable(R.drawable.alamat));
            getTabHost().addTab(spec);
           
            getTabHost().setCurrentTab(0);


Berikut tampilan array3 untuk entry data ke-4





Sumber: PEMROGRAMAN APLIKASI MOBILE SMARTPHONE DAN TABLET PC 
BERBASIS ANDROID. oleh : Nazruddin Safaat H


Tidak ada komentar:

Posting Komentar