Tampilan Penelusuran Android (SearchView)
September 10, 2020
Add Comment
Android SearchView menyediakan antarmuka pengguna untuk kueri penelusuran yang dikirimkan melalui penyedia penelusuran. Widget SearchView dapat diimplementasikan melalui ToolBar/ActionBar atau di dalam tata letak.
SearchView secara default dapat dilipat dan diatur untuk di iconified menggunakan metode setIconifiedByDefault(true) kelas SearchView. Untuk membuat bidang pencarian terlihat, SearchView menggunakan metode setIconifiedByDefault(false).
Metode SearchView
- public boolean onQueryTextSubmit(String query) : Ini mencari permintaan pada pengiriman konten melalui SearchView editor. Hal ini tergantung kasus.
- public boolean onQueryTextChange(String newText): Ini mencari permintaan pada saat perubahan teks melalui editor SearchView.
Contoh SearchView
Mari kita lihat contoh SearchView melalui tata letak, mencari data dalam ListView.* Main Activity
Buat file activity_main.xml di folder tata letak yang berisi ScrollView dan ListView. File : activity_main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.test.searchview.MainActivity"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv1" android:divider="#ad5" android:dividerHeight="2dp" android:layout_below="@+id/searchView"/> <SearchView android:id="@+id/searchView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:queryHint="Search Here" android:iconifiedByDefault="false" android:layout_alignParentTop="true" /> </RelativeLayout>
* Activity class
File : MainActivity.javapackage com.example.test.searchview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Filter; import android.widget.ListView; import android.widget.SearchView; import android.widget.Toast; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { SearchView searchView; ListView listView; ArrayList<String> list; ArrayAdapter<String > adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); searchView = (SearchView) findViewById(R.id.searchView); listView = (ListView) findViewById(R.id.lv1); list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Pineapple"); list.add("Orange"); list.add("Lychee"); list.add("Gavava"); list.add("Peech"); list.add("Melon"); list.add("Watermelon"); list.add("Papaya"); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list); listView.setAdapter(adapter); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { if(list.contains(query)){ adapter.getFilter().filter(query); }else{ Toast.makeText(MainActivity.this, "No Match found",Toast.LENGTH_LONG).show(); } return false; } @Override public boolean onQueryTextChange(String newText) { // adapter.getFilter().filter(newText); return false; } }); } }
0 Response to "Tampilan Penelusuran Android (SearchView)"
Posting Komentar