最近在谷歌分析中我发现,我的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("", "", "");
}
答案 0 :(得分:0)
突出显示行号501的确切行。无论您在该行访问属性或方法的对象是什么,这些都是您的罪魁祸首。例如,如果它是这一行:
AssetManager assetManager = getActivity().getAssets();
然后它是getActivity()
的结果,它是一个Activity引用或null。如果它为null,那么因为在片段附加到活动之前或者片段已经分离但仍处于活动状态之前调用该方法。