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
-
Double klik file main.xml
-
Tambahkan coding pada file main.xml seperti dibawah ini
-
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>
</TabHost>
Jika sudah hasil tampilan project akan seperti gambar dibawah ini
-
Buatlah xml baru, klik kanan pada layout -> New -> Android XML File beri nama row.xml
-
Ganti Coding pada row yang telah kita buat menjadi seperti ini .
-
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>
Pada packages/src double klik almag.java kita akan menngubah coidng file ini menjadi sperti berikut :
package com.arrayadapter2;
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());
}
}
Kemudian buat lagi class baru dengan nama Array3.java dan modifikasi isi coding dari file tersebut seperti dibawah ini
-
package com.arrayadapter2;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.TabActivity;
import android.view.LayoutInflater;
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);
}
}
}
}
Runninglah hasil project yang telah buat, jika berhasil tampilannya akan seperti dibawah ini ketika telah diinputkan data ..
Komentar
Posting Komentar