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;
}
});
}
}
我不明白为什么它没有以任何方式显示。请帮忙
你能 运行 它并显示编译或 运行 错误吗?
我想,我没有完全理解问题。
这里有一些菜单提示:
- 开始时可以使用 app:showAsAction="always"
在那种情况下,您选择的小图标应显示在应用栏中。因此,如果图像出现,您可以对 chcech 执行此操作(学习)。
- 其次 - 可能程序在查找 SearchView 时遇到问题,因为您忘记添加“app:actionVieClass”。在这种情况下,您的代码应该在调用此行 (SearchView) item.getActionVie().
期间抛出错误
观看此视频 - 也许会有帮助:https://youtu.be/9OWmnYPX1uc
我已经尝试了一百万种方法来将 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;
}
});
}
}
我不明白为什么它没有以任何方式显示。请帮忙
你能 运行 它并显示编译或 运行 错误吗? 我想,我没有完全理解问题。
这里有一些菜单提示:
- 开始时可以使用 app:showAsAction="always"
在那种情况下,您选择的小图标应显示在应用栏中。因此,如果图像出现,您可以对 chcech 执行此操作(学习)。
- 其次 - 可能程序在查找 SearchView 时遇到问题,因为您忘记添加“app:actionVieClass”。在这种情况下,您的代码应该在调用此行 (SearchView) item.getActionVie(). 期间抛出错误
观看此视频 - 也许会有帮助:https://youtu.be/9OWmnYPX1uc