5

私のプロジェクトには 3 つのアクティビティがあり、アクションバーの searchView を 1 つのアクティビティだけで削除/非表示にしたいと考えています。

私は searchView.setVisibility(View.GONE); を試しました。ただし、クリック可能なアイコンはまだあります。

main_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/menu_search"
      android:title="@string/menu_search"
      android:icon="@drawable/ic_menu_search"
      android:showAsAction="ifRoom|collapseActionView"
      android:actionViewClass="android.widget.SearchView" />
<item
    android:id="@+id/item_clear_memory_cache"
    android:title="@string/menu_item_clear_memory_cache"/>

<item
    android:id="@+id/item_clear_disc_cache"
    android:title="@string/menu_item_clear_disc_cache"/>

</menu>
4

3 に答える 3

12

menu.findItem(R.id.menu_search).setVisible(false);方法であるべきです。

于 2013-01-14T18:29:03.347 に答える
1

さて、ここでいくつかの調査を行った後、私の完全な例を見つけることができます。検索ビューを表示する必要があるアクティビティまたはフラグメントで可視性と可視性を設定することを忘れないでください。

設定で検索ビューを非表示にする方法を探していました。

public class SettingsFragment extends PreferenceFragmentCompat {
    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        setPreferencesFromResource(R.xml.preferences, rootKey);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // this means that we're telling the Activity that is hosting the Fragment that we want to display menus
        setHasOptionsMenu(true);
    }

    /**
     * ********************* SEARCH ********************
     */
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        final MenuItem item = menu.findItem(R.id.action_search);
        final SearchView searchView = (SearchView) item.getActionView();
        item.setVisible(false);
        searchView.setVisibility(View.GONE);
    }

}

および menu_main.xml

<item android:id="@+id/action_search"
    android:title="@string/action_search"
    app:actionViewClass="androidx.appcompat.widget.SearchView"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="always|collapseActionView"
    />

于 2019-12-09T14:17:52.900 に答える