آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

پیاده سازی سرچ

شنبه, ۸ شهریور ۱۳۹۹، ۰۶:۳۱ ب.ظ

مثل منوی پاپ آپ، توی فایل 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 محتوای سرچ ویو رو نشون میده

موافقین ۰ مخالفین ۰ ۹۹/۰۶/۰۸
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی