Pada Praktikum ini akan membuat Lisadapter, yang berisi tentang
konstumisasi array2, layar tampilan akan kita bagi dua tab, tab
pertama berisi list-list data yang sudah diinputkan (tidak lagi satu
tampilan seperti pada percobaan pertama), tab yang kedua berisi dengan
tampilan list beserta nama inputan, apabila dia adalah inputan yang
berjenis kelamin pria akan muncul icon pria.
1. Jalankan Eclipse, File > New > Android Project, Perhatikan Gambar Berikut;
isikan Application name dengan name Array3
klik next
klik next
kemudian klik finish
Ganti Kode pada main.xml menjadi sepertik berikut
source kode 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="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<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:paddingTop="4px"
android:stretchColumns="1" >
<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>
Buatlah xml baru, klik kanan pada layout -> New -> Android XML File beri nama row.xml
Ganti Kode pada row.xml menjadi sepertik berikut
source kode 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_alignParentBottom="true"
android:layout_alignParentTop="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:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
android:textStyle="bold" />
<TextView
android:id="@+id/alamat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
source kode Almag.java
package com.percobaan.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());
}
}
source kode array3.java
package com.percobaan.array3;
import java.util.ArrayList;
import java.util.List;
import com.listarray3.R;
import android.os.Bundle;
import android.app.Activity;
import android.app.TabActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
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;
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);
}
}
}
}
Jalankan Run dengan shourcut CTRL+F11 atau klik Kanan package > Runa As > Android Projeck. hasil outputnya;
source kode 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="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<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:paddingTop="4px"
android:stretchColumns="1" >
<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>
Buatlah xml baru, klik kanan pada layout -> New -> Android XML File beri nama row.xml
Ganti Kode pada row.xml menjadi sepertik berikut
source kode 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_alignParentBottom="true"
android:layout_alignParentTop="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:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
android:textStyle="bold" />
<TextView
android:id="@+id/alamat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
source kode Almag.java
package com.percobaan.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());
}
}
source kode array3.java
package com.percobaan.array3;
import java.util.ArrayList;
import java.util.List;
import com.listarray3.R;
import android.os.Bundle;
import android.app.Activity;
import android.app.TabActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
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;
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);
}
}
}
}
Jalankan Run dengan shourcut CTRL+F11 atau klik Kanan package > Runa As > Android Projeck. hasil outputnya;
Terima kasih
Semoga Bermanfaat.
Semoga Bermanfaat.
0 komentar:
Posting Komentar