0% found this document useful (0 votes)
15 views

List

This document discusses how to create a filter list in Android. It explains that two XML files are needed: list_item_filter.xml to store item data and activity_filter.xml to store the list items and search EditText. It also provides code samples for these XML files and the Java class FilterListActivity that displays the list data and adds filtering functionality by implementing a text change listener on the search EditText.

Uploaded by

Kalina Mrz
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

List

This document discusses how to create a filter list in Android. It explains that two XML files are needed: list_item_filter.xml to store item data and activity_filter.xml to store the list items and search EditText. It also provides code samples for these XML files and the Java class FilterListActivity that displays the list data and adds filtering functionality by implementing a text change listener on the search EditText.

Uploaded by

Kalina Mrz
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Untuk membuat filter list, kita membutuhkan 2 file xml.

Yang pertama
adalah list_item_filter.xml dan activity_filter.xml. list_item_filter digunakan untuk
menampung data per item sedangkan activity_filter dipakai untuk menampung list_item_filter
dan EditText pencarian .

source code
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- Single ListItem -->
<!-- negara list -->
<TextView android:id="@+id/negara_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:textSize="16dip"
android:textStyle="bold"/>
</LinearLayout>

activity_filter.xml
source code
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- Editext for Search -->
<EditText android:id="@+id/inputSearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Search Country.."
/>
<!-- List View -->
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

20
21

FilterListActivity.java
File ini adalah file java yang tugasnya menampilkan data kelist dan menambahkan fitur filter

source code
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

package com.listdemo;
import java.util.ArrayList;
import java.util.HashMap;
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.text.Editable;
android.text.TextWatcher;
android.widget.ArrayAdapter;
android.widget.EditText;
android.widget.ListView;

public class FilterListActivity extends Activity {


// List view
private ListView lv;
// Listview Adapter
ArrayAdapter<String> adapter;
// Search EditText
EditText inputSearch;
// ArrayList for Listview
ArrayList<HashMap<String, String>> negaraList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_filter);
// Data Array yang akan ditampilkan di list
String negara[] = {"Indonesia","Malaysia","Brunei","Filipina",
"Thailand","Myanmar","Singapura","Vietnam",
"Kamboja","Laos" };
// ambil list_view dan inputsearchnya di xml
lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
// proses menambahkan array kedalam listview
adapter = new ArrayAdapter<String>(this, R.layout.list_item_filter,
R.id.negara_name, negara);
lv.setAdapter(adapter);

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

/**
* Kode dibawah ini dipakai untuk memfilter/pencarian realtime
* */
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
FilterListActivity.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}

You might also like