【发布时间】:2017-05-06 15:38:23
【问题描述】:
我有一个包含以下代码的片段:
SearchView searchView;
@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.searchship, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
menu.findItem(R.id.action_sort).setVisible(false);
}
});
如果我从 AndroidStudio 运行它,那么一切都很好。但是从 Playstore 下载应用程序的每个人都会崩溃:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setOnSearchClickListener(android.view.View$OnClickListener)' on a null object reference
【问题讨论】:
-
你使用过 ProGuard 吗?你测试你的发布版本了吗? (另外:每个应用程序都已“签名”,否则您无法安装)
-
是的,这就是我的意思,如果它被混淆它就不起作用。
-
我确信这总是有效的。 https://stackoverflow.com/a/71690782/6037561
标签: android nullpointerexception searchview