Disini kita juga membuat event click pada listvew, dimana jika salah satu data click pada listview maka akan menampilkan detail data, seperti gambar berikut:
Buat project baru, kemudian tambahkan dua buah layout, disini ane kasih nama activity_cari.xml dan detail_bulan.xml , dan tambahkan satu Class, disini ane kasih nama DetailBulan seperti gambar di bawah :
Berikut isi xml dari activity_main.xml :
Berikut isi xml dari activity_cari.xml:
Berikut isi xml dari detail_bulan.xml:
Berikut Coding pada Class MainActivity :
package com.listviewfiturpencarian.yonandroid;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listV;
ArrayAdapter adapter;
EditText inputSearch;
//ArrayList for LIstView
ArrayList> bulanList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cari);
//Data Array List Bulan
String bulan[] = {"January", "February", "Maret", "April", "Mei",
"Juni", "Juli", "Agustus", "September", "Oktober", "November",
"Desember" };
// ambil list_view dan inputsearchnya di xml
listV = (ListView) findViewById(R.id.list);
inputSearch = (EditText) findViewById(R.id.inputSearch);
//proses menambah Array dalam listview
adapter = new ArrayAdapter(this, R.layout.activity_main,
R.id.nama_bulan, bulan);
listV.setAdapter(adapter);
//Detail list item / Event Click
listV.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView parent, View view, int position, long id){
String nama_bulan=listV.getItemAtPosition(position).toString();
Intent intent = new Intent(getApplicationContext(), DetailBulan.class);
intent.putExtra("nama_bulan", nama_bulan);
startActivity(intent);
}
});
//Kode berikut untuk memfilter/pencarian
inputSearch.addTextChangedListener(new TextWatcher(){
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
MainActivity.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
}
Berikut Coding pada Class DetailBulan :
package com.listviewfiturpencarian.yonandroid;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class DetailBulan extends Activity{
String nama_bulan;
TextView nmBulan, detBulan;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_bulan);
//ambil textView namabulan da
nmBulan = (TextView) findViewById(R.id.nama_bulan);
detBulan = (TextView) findViewById(R.id.detail_bulan);
//ambil parameter nama_bulan dari Intent
Intent intent = getIntent();
nama_bulan = intent.getStringExtra("nama_bulan");
//tampilkan nama bulan di textview
nmBulan.setText(nama_bulan);
//panggil setDetail(String bulan) dan tampilkan
setDetail(nama_bulan);
}
//berikut Fungsi SetDetail
public void setDetail(String bulan){
if(bulan.equalsIgnoreCase("January")){
detBulan.setText("Bulan Pertama Pada Tahun Berisi 31 hari");
}else if(bulan.equalsIgnoreCase("February")){
detBulan.setText("Bulan Kedua Pada Tahun Terdiri dari 28 Hari");
}else if(bulan.equalsIgnoreCase("Agustus")){
detBulan.setText("Bulan Kedelapan Pada Tahun");
}else{
detBulan.setText("Nama Bulan Tidak Ada Coy");
}
}
}
oke sekian, untuk download complate project click here


1 komentar:
maff gan link nya ngk ada boleh kh ane minta. klo boleh tolong kirim lewat email linknya yaa gan. thanks
Post a Comment