Как изменить заголовок в окне поиска?

1

Я пытался добавить Android: title= "", который не работает.

SearchView searchView = (SearchView) miFind.getActionView(); searchView.setQueryHint("ваше сообщение");

не сработало. Изображение 174551

private SearchView.OnQueryTextListener onSearch() {
        return new SearchView.OnQueryTextListener(){
            @Override
            public boolean onQueryTextSubmit(String query) {

                WebView mWebView= (WebView) findViewById(R.id.webView);
                mWebView.loadUrl("http://www.example.com" +query);
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        };

Изображение 174551

Теги:
search

2 ответа

1
Лучший ответ

Если вы определили в своем меню пункт с этим атрибутом:

app:actionViewClass="android.support.v7.widget.SearchView"

тогда вы должны получить его в коде, чтобы изменить его подсказку.

В onCreateOptionsMenu() добавьте этот код после заполнения меню:

MenuItem miFind = menu.findItem(R.id.miFind);
SearchView searchView = (SearchView) miFind.getActionView();
searchView.setQueryHint("your message");

замените miFind на id пункта меню, который действует как ваш SearchView.

Изменить: В onCreateOptionsMenu() добавить этот слушатель:

miFind.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
     @Override
      public boolean onMenuItemActionExpand(MenuItem menuItem) {
          searchView.setQueryHint("your message when expanded");
          return true;
      }

      @Override
      public boolean onMenuItemActionCollapse(MenuItem menuItem) {
           searchView.setQueryHint("your message when collapseded");
           return true;
      }
});
1

Если вы говорите о подсказке поиска, вам нужно использовать этот метод из SearchView: setQueryHint

Из документации:

Устанавливает текст подсказки для отображения в текстовом поле запроса. Это переопределяет любую подсказку, указанную в SearchableInfo.

Это значение может быть указано в виде пустой строки, чтобы предотвратить отображение подсказки запроса.


Пример:

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize">

    <android.support.v7.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:imeOptions="actionSearch|flagNoExtractUi"
            app:searchHintIcon="@null"
            app:searchIcon="@null"
            app:queryBackground="@null"
            app:submitBackground="@null"/>

</android.support.v7.widget.Toolbar>

Джава:

final SearchView searchView = findViewById(R.id.search_view);
searchView.setQueryHint("Your search string");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню