SearchView 未显示

SearchView is not showing

我已经尝试了一百万种方法来将 SearchView 放在我的代码段中。我整天阅读文档和教程,但没有任何效果。我停在了这里:

search_menu.xml

<?xml version="1.0" encoding="utf-8"?>
  <menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
      <item android:id="@+id/action_search"
          android:title="@string/app_name"
          android:icon="@drawable/ic_baseline_search_24"
          app:showAsAction="collapseActionView|ifRoom"
          />
  </menu>

java code

public class Search_offer extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        setHasOptionsMenu(true);
        return inflater.inflate(R.layout.activity_search_offer,container,false);
    }

    public void onStart(){
        super.onStart();
}

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        menu.clear();

        inflater.inflate(R.menu.search_menu, menu);
        MenuItem item = menu.findItem(R.id.search);
        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItem.SHOW_AS_ACTION_IF_ROOM);

        SearchView searchView = (SearchView) item.getActionView();
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }

        });
    }

}

我不明白为什么它没有以任何方式显示。请帮忙

你能 运行 它并显示编译或 运行 错误吗? 我想,我没有完全理解问题。

这里有一些菜单提示:

  1. 开始时可以使用 app:showAsAction="always"

在那种情况下,您选择的小图标应显示在应用栏中。因此,如果图像出现,您可以对 chcech 执行此操作(学习)。

  1. 其次 - 可能程序在查找 SearchView 时遇到问题,因为您忘记添加“app:actionVieClass”。在这种情况下,您的代码应该在调用此行 (SearchView) item.getActionVie().
  2. 期间抛出错误

观看此视频 - 也许会有帮助:https://youtu.be/9OWmnYPX1uc