TÌM KIẾM TRONG LISTVIEW ANDROID

     

SearchView hỗ trợ cho tất cả những người dùng những nhắc nhở liên quan khi chúng ta nhập vào ngôi trường EditText.Nhữnggợi ý đósẽ được hiển thị trongmột danh sáchthả xuống từ bỏ đó người tiêu dùng có thể lựa chọn 1 item để thay thế cho nội dung của bản thân vừa nhập vào.

Bạn đang xem: Tìm kiếm trong listview android

*

SearchViewcodetrongXML

Các phương thường áp dụng củaSearchView1. GetQuery():Phương thức này được sử lấy công dụng câu kiếm tìm kiếm của người sử dụng nhập vào trongSearchView . Phương thức này trả về kiểu dữ liệu làCharSequence.Ví dụ sau lấy chuỗi tim tìm trong SearchView

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a tìm kiếm viewCharSequence query = simpleSearchView.getQuery(); // get the query string currently in the text field2. GetQueryHint():Phương thức này được áp dụng lấy chuỗi hint trongSearchView . Phương thức này trả về kiểu dữ liệu làCharSequence.Ví dụ sau rước chuỗi hint vào SearchView

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a tìm kiếm viewCharSequence queryHint = simpleSearchView.getQueryHint(); // get the hint text that will be displayed in the query text field3. IsIconfiedByDefault(): Phương thức này kiểm soát trạng thái khoác định bé trỏ nhập trước icon searh giỏi sau icon tìm kiếm của SearchView.Phương thức này trả về cực hiếm true hoặc false

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a search viewboolean isIconfied=simpleSearchView.isIconfiedByDefault(); // checks default iconified state of the search field4. SetIconifiedByDefault(Boolean iconify): Phương thức này được thực hiện để tùy chỉnh icon search trước con trỏ nhập giỏi icon tìm kiếm sau nhỏ trỏ nhập. Nếu như true icon search trước con trỏ nhập ngược lại. Tham số truyền vào là true hoặc false.

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a tìm kiếm viewsimpleSearchView.setIconifiedByDefault(false); // set the default or resting state of the search field5. SetQueryHint(CharSequence hint):Phương thức này được thực hiện để tùy chỉnh cấu hình chuỗi hint trong SearchView.Ví dụ sau cấu hình thiết lập hint trong SearchView

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a search viewsimpleSearchView.setQueryHint("Search View"); // phối the hint text lớn display in the query text field6. SetOnQueryTextFocusChangeListener(OnFocusChangeListenerlistener):Sự khiếu nại này được điện thoại tư vấn khi Text nuốm đổi.

Ví dụ sau tùy chỉnh cấu hình sự kiệnsetOnQueryTextFocusChangeListener() trongSearchView.

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a search view// perform phối on query text focus change listener eventsimpleSearchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener()
Overridepublic void onFocusChange(View v, boolean hasFocus) // do something when the focus of the query text field changes);7. SetOnQueryTextListener(OnQueryTextListenerlistener):Interface này dùng để làm lắng nghe sự kiện QueryTextChangeVí dụ sau cấu hình thiết lập sự kiệnsetOnQueryTextListener cho SearchView.

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView); // inititate a search view// perform set on query text listener eventsimpleSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener()
Overridepublic boolean onQueryTextSubmit(String query) // bởi something on text submitreturn false;
Overridepublic boolean onQueryTextChange(String newText) // bởi vì something when text changesreturn false;);Thuộc tính hay được sử dụng của SearchViewBây giờ bọn chúng xem một vài thuộc tính hay được dùng trongSearchViewtrong tập tinXML

1. Android:id:Là ở trong tính tốt nhất củaSearchView.

Dựa vào Id ta đang lấy được control theo đúng Id này, xem code bên dưới để biết phương pháp lấy control theo Id:

SearchView simpleSearchView = (SearchView) findViewById(R.id.simpleSearchView);2. Android:queryHint:Thuộc tínhqueryHintđể hiển thị thông tin gợi nhắc trong vùng nhập dữ liệu khi bạn chưa nhập bất kỳ dữ liệu như thế nào vào, chỉ cần phải có dữ liệu là phầnqueryHintsẽ auto mất đi.Ví dụ sau tùy chỉnh cấu hình queryHint trong SearchView.

Xem thêm: Trần Nhật Duật Nha Trang, Khánh Hòa, Bán Nhà Đường Trần Nhật Duật Nha Trang

3. Android:iconifiedByDefault: Thuộc tính này cần sử dụng để thiết lập cấu hình icon search trước nhỏ trỏ nhập tuyệt icon search sau nhỏ trỏ nhập. Giả dụ true icon search trước nhỏ trỏ nhập ngược lại

Ví dụ sau chúng ta thiết lập trực thuộc tính này là true

*

4. Android:background:Thuộc tính này khẳng định màu nền choSearchView.Ví dụ sau thiết lập cấu hình màu nền là màu đỏ

*
5. Android:padding:Thuộc tính này xác định khoảng giải pháp từ con đường viền củaSearchViewvới câu chữ nó chứa:left, right, vị trí cao nhất or bottom.Cũng lấy ví dụ như trên hiện giờ chúng ta xác địnhpadding=40dptừ phần đông phía củaSearchView.

*

Ví dụ:Trong lấy một ví dụ này họ sẽ làm áp dụng gồm gồm 1ListViewvà 1SearchView. Triển khai tạo project, vào thư mục res /layout ->activity_main.xmlthiết kế giao diện sau:

*

Bước 1:Tạo một project tên làSearchView:File->New->Android Application Projectđiền những thông tin->Next ->Finish

Bước 2:Mởres -> layout ->xml(hoặc) activity_main.xmlvà thêm code, bọn họ sẽ sản xuất các đối tượng người sử dụng SearchViewListViewtrongRelative Layout.

Bước 3: Tạo một tin Layoutres-> right click trênlayout -> New -> Activity -> Blank Activity cùng tạolist_view_items

Bước 4:Tạo một tấm mới. Mở app -> java -> right click lên package-> New -> Java Class cùng tạoAnimalNames.java .

package vectordep.vn.searchview;public class AnimalNames private String animalName; public AnimalNames(String animalName) this.animalName = animalName; public String getAnimalName() return this.animalName; Bước 5:Tạo một tờ mới.Mở tiện ích -> java -> right click lên package-> New -> Java Class và tạoListViewAdapter.java

package vectordep.vn.searchview;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.ArrayList;import java.util.List;import java.util.Locale;public class ListViewAdapter extends BaseAdapter // Declare Variables Context mContext; LayoutInflater inflater; private danh mục animalNamesList = null; private ArrayList arraylist; public ListViewAdapter(Context context, list animalNamesList) mContext = context; this.animalNamesList = animalNamesList; inflater = LayoutInflater.from(mContext); this.arraylist = new ArrayList(); this.arraylist.addAll(animalNamesList); public class ViewHolder TextView name;
Override public long getItemId(int position) return position; public View getView(final int position, View view, ViewGroup parent) final ViewHolder holder; if (view == null) holder = new ViewHolder(); view = inflater.inflate(R.layout.list_view_items, null); // Locate the TextViews in listview_item.xml holder.name = (TextView) view.findViewById(R.id.name); view.setTag(holder); else holder = (ViewHolder) view.getTag(); // mix the results into TextViews holder.name.setText(animalNamesList.get(position).getAnimalName()); return view; // Filter Class public void filter(String charText) charText = charText.toLowerCase(Locale.getDefault()); animalNamesList.clear(); if (charText.length() == 0) animalNamesList.addAll(arraylist); else for (AnimalNames wp : arraylist) if (wp.getAnimalName().toLowerCase(Locale.getDefault()).contains(charText)) animalNamesList.add(wp); notifyDataSetChanged(); Bước 6:Mở src -> package -> MainActivity.javaTrong bước này bọn họ khởi tạoListView SearchView.Tiếp theo,chúng ta tạo thành 1mảng tài liệu và kết nốiListViewthông qua đối tượngArrayAdapter.Cuối thuộc là tùy chỉnh thiết lập sự kiện choSearchView.OnQueryTextListener mang đến SearchView để lọc câu truy vấn vấn.

Xem thêm: Cách Chèn Và Bỏ Page Break Trong Excel 2007, Cách Bỏ Page Break Preview Trong Excel

package vectordep.vn.searchview;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ListView;import android.widget.SearchView;public class MainActivity extends Activity implements SearchView.OnQueryTextListener{ListView list; ListViewAdapter adapter; SearchView editsearch; String<> animalNameList; ArrayList arraylist = new ArrayList();
Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// Generate sample data animalNameList = new String<>"Lion", "Tiger", "Dog", "Cat", "Tortoise", "Rat", "Elephant", "Fox", "Cow","Donkey","Monkey"; // Locate the ListView in listview_main.xml menu = (ListView) findViewById(R.id.listview); for (int i = 0; i

Download ví dụ

Ứng dụng này được trở nên tân tiến bởiadt bundle,android 4.2sử dụngminimum sdk 11andtarget sdk 21.