问题
I am using a SearchView in android. When I first land on the page, all that is visible is the search icon. Then when I click on the icon, the EditText appears. How do I get the EditText to be visible from the get go? Here is my 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" />
回答1:
EDIT---
Oh sorry! I tought you wanted to do an 'empty' query. I think you can open SearchView programmatically using:
searchView.setIconified(false);
OLD ANSWER--
Inside an Activity you can try with:
onSearchRequested();
And inside a Fragment you can try with:
getActivity().onSearchRequested();
Good luck!
回答2:
From the official Android docs:
If you want the search field to always be visible, then call setIconifiedByDefault(false).
This does work for the compatibility android.support.v7.widget.SearchView
as well.
回答3:
You can try this:
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
// Expand the search view
searchItem.expandActionView();
Thanks.
来源:https://stackoverflow.com/questions/20979238/show-android-searchview-edittext-by-default