سؤال

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" />
هل كانت مفيدة؟

المحلول

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!

نصائح أخرى

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.

You can try this:

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

Thanks.

You also have to set this property for click event

searchView.setIconified(false);
        searchCloseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                searchEditText.setText("");
                ((SearchView) findViewById(R.id.search_view)).setIconified(false);
            }
        });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top