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