پیاده سازی سرچ
شنبه, ۸ شهریور ۱۳۹۹، ۰۶:۳۱ ب.ظ
مثل منوی پاپ آپ، توی فایل XML منو، کد زیر رو مینویسیم:
<item
android:icon="@drawable/ic_search"
android:title="search"
android:id="@+id/search"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="always" />
خطی که هایلایت شده مخصوص سرچ هست و میگه وقتی روی آیکونش کلیک شد، سرچ ویو باز شه.
نحوه استفاده در کد جاوا:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
SearchView searchView = (androidx.appcompat.widget.SearchView) menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Toast.makeText(MainActivity.this, "submitted: "+query, Toast.LENGTH_SHORT).show();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
Toast.makeText(MainActivity.this, "change to: "+newText, Toast.LENGTH_SHORT).show();
return true;
}
});
روش دیگه سرچ (که برای ریسایکلر ویو استفاده میشه) اینه که خودمون یک ادیت تکست تعریف میکنیم. بنابراین نیازی نیست توی متد onCreateOptionsMenu اون رو findViewByID کنیم. توی onCreate این کارو انجام میدیم. بعدا این روش رو توضیح میدم.
تفاوت متدهای onQueryTextSubmit و onQueryTextChange:
onQueryTextSubmit: هر وقت اینتر زده شد محتوای سرچ ویو رو نشون میده
onQueryTextChange: به صورت real time محتوای سرچ ویو رو نشون میده
۹۹/۰۶/۰۸