java - 每次我在模拟器上运行时,应用程序都会停止
问题描述
当我向其添加菜单搜索栏时,我的应用程序不断停止,下面是 LOGcat。
2021-03-17 12:59:15.222 21794-21794/com.example.pesticideapplication E/AndroidRuntime:致命异常:主进程:com.example.pesticideapplication,PID:21794 java.lang.NullPointerException:尝试调用虚拟方法' void android.widget.SearchView.setOnQueryTextListener(android.widget.SearchView$OnQueryTextListener)' 在 com.example.pesticideapplication.MainActivity.onCreateOptionsMenu(MainActivity.java:46) 在 android.app.Activity.onCreatePanelMenu(Activity .java:4074) 在 androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:325) 在 androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94) 在 androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback。 onCreatePanelMenu(AppCompatDelegateImpl.java:3070) 在 androidx.appcompat.app。AppCompatDelegateImpl.preparePanel(AppCompatDelegateImpl.java:1895) 在 androidx.appcompat.app.AppCompatDelegateImpl.doInvalidatePanelMenu(AppCompatDelegateImpl.java:2176) 在 androidx.appcompat.app.AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:271) 在 android.os。 Handler.handleCallback(Handler.java:883) 在 android.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread .java:7356) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit .main(ZygoteInit.java:930)AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:271) 在 android.os.Handler.handleCallback(Handler.java:883) 在 android.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop( Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7356) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run( RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:271) 在 android.os.Handler.handleCallback(Handler.java:883) 在 android.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop( Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7356) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run( RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 运行(RuntimeInit.java:492)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 运行(RuntimeInit.java:492)
我在 mainactivity 中的搜索代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
MenuItem menuItem = menu.findItem(R.id.search);
final SearchView searchView = (SearchView) menuItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(searchView.toString());
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
解决方案
推荐阅读
- python - 如何通过 django rest api 中的视图更改序列化程序中的参数
- c++ - gdb中的nexti和stepi有什么区别?
- sql - 如何在 SQL Server 2008 中从 Avg 中找到 Max
- mongodb - 使用 mongodb go 驱动程序将文档解码为具有自定义类型字段的结构
- c# - as List<> 与 ToList() 之间的区别
- amazon-web-services - 如何在 AWS 云中添加 SSL 证书并使网站 HTTPS?
- android - Android Studio 不在设计视图上显示组件,而是在模拟器上显示,知道为什么吗?
- reactjs - 如何启用 webpack MERN 的监视?
- neural-network - Michael Neilsen 书中成本函数的选择:神经网络和深度学习
- android - 获取数据firebase firestore时反应本机错误