Android - Изглед за търсене: Вижда се подсказка за заявка

Има ли начин винаги да се вижда подсказката за заявка на изглед за търсене? Това, което искам, е дори ако изгледът за търсене не е избран, потребителят може да види каква е целта му.

    <SearchView
    android:id="@+id/search"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="7"
    android:queryHint="@string/searchHint" />

Опитах searchView.setIconifiedByDefault(false);, но той активира изгледа за търсене по подразбиране.

Благодаря


person Ynnad    schedule 19.10.2015    source източник


Отговори (2)


Ето моето решение. Това е малко заобиколно решение, но засега работи за мен.

// Boolean to determine if the activity has just been launched

    private boolean activityStartup = true;

// Inside onCreate

    searchView.setIconifiedByDefault(false);
    searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
           @Override
           public void onFocusChange(View v, boolean hasFocus) {
               if (hasFocus) {
                   if (activityStartup) {
                       searchView.clearFocus();
                       activityStartup = false;
                   }
               }
           }
    });

По този начин подсказката за заявката винаги се показва и когато (и само когато) дейността се стартира за първи път, фокусът на SearchView автоматично се изчиства, скривайки клавиатурата. Клавиатурата ще се покаже, когато SearchView се докосне/фокусира ръчно.

person akortze    schedule 01.04.2016

Опитахте ли да използвате searchView.setQueryHint("Query Hint")? Това включване трябва да показва подсказката за заявката.

person Sameer Khan    schedule 19.10.2015
comment
Да, показва подсказката, но само когато потребителят кликне върху searchView. Искам винаги да се показва подсказката, дори ако потребителят не избере searchView... - person Ynnad; 20.10.2015
comment
Опитайте да добавите атрибут queryHint към XML. - person Sameer Khan; 20.10.2015