【问题标题】:Show android SearchView EditText by default默认显示android SearchView EditText
【发布时间】:2014-01-07 18:38:30
【问题描述】:

我在 android 中使用 SearchView。当我第一次登陆页面时,所有可见的都是搜索图标。然后,当我单击图标时,会出现 EditText。如何让 EditText 从一开始就可见?这是我的xml:

<SearchView
        android:id="@+id/search"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:queryHint="@string/search_hint"
        android:textSize="16sp" />

【问题讨论】:

    标签: android android-layout searchview


    【解决方案1】:

    编辑---

    哦,对不起!我坚持你想做一个“空”的查询。 我认为您可以使用以下方式以编程方式打开 SearchView:

    searchView.setIconified(false);
    

    老答案--

    您可以在 Activity 中尝试:

    onSearchRequested();
    

    您可以在 Fragment 中尝试:

    getActivity().onSearchRequested();
    

    祝你好运!

    【讨论】:

    【解决方案2】:

    来自official Android docs

    如果您希望搜索字段始终可见,请调用 setIconifiedByDefault(false)。

    确实适用于兼容性android.support.v7.widget.SearchView

    【讨论】:

      【解决方案3】:

      你可以试试这个:

      SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
      // Expand the search view
      searchItem.expandActionView();
      

      谢谢。

      【讨论】:

        【解决方案4】:

        您还必须为点击事件设置此属性

        searchView.setIconified(false);
                searchCloseButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        searchEditText.setText("");
                        ((SearchView) findViewById(R.id.search_view)).setIconified(false);
                    }
                });
        

        【讨论】:

          猜你喜欢
          • 2017-03-10
          • 2016-02-18
          • 2012-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-11
          • 1970-01-01
          相关资源
          最近更新 更多