最近在谷歌分析中我发现,我的 Android 应用程序因 NullPointerException 而对某些用户崩溃。也许有人可以帮助我确定是什么导致应用程序崩溃...这是崩溃:
NullPointerException (@MainFragment$3:loadFromAssetsWhite:501) {WebViewCoreThread}
这是 501 行的代码:
private WebResourceResponse loadFromAssetsWhite(String assetPath, String mimeType, String encoding){
AssetManager assetManager = getActivity().getAssets();
InputStream input;
try {
input = assetManager.open("search-white.png");
return new WebResourceResponse(mimeType, encoding, input);
} catch (IOException e) {
Log.e("WEB-APP", "Error loading " + assetPath + " from assets: " +
e.getMessage(), e);
}
return null;
}
这是对该行的调用:
if (webViewUrl != null && webViewUrl.contains("results.html")) {
return loadFromAssetsBlack("", "", "");
} else {
return loadFromAssetsWhite("", "", "");
}
最佳答案
突出显示第 501 行的确切行。无论您在该行访问什么对象的属性或方法,这些都是罪魁祸首。例如,如果是这一行:
AssetManager assetManager = getActivity().getAssets();
然后是 getActivity()
的结果,它要么是 Activity 引用,要么是 null。如果为 null,则因为该方法是在 fragment 附加到 Activity 之前或 fragment 已分离但仍处于 Activity 状态之后调用的。
关于java - MainFragment 处的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159319/