Android - 创建适配器时出现 NullPointerException

2024-01-30

我正在为列表视图创建一个数组适配器, 一切正常,我有 2 个片段,操作栏顶部有 2 个按钮,可在这 2 个片段之间进行更改。 我的问题是,如果我在这些frag之间移动得太快,当我打开fragOne,切换到fragTwo,然后快速移回fragOne时,我会崩溃。fragOne从getActivity上下文中抛出一个NPE。

这就是崩溃的那行:

adapter = new MainFragmentDocumentAdapter(getActivity(), docsList, DocumentsFragment.this, page);

日志报告:

E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.bbb.app, PID: 17438
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
        at android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
        at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:104)
        at com.bbb.app.UI.adapters.MainFragmentDocumentAdapter.<init>(MainFragmentDocumentAdapter.java:51)

知道如何解决这个问题吗?


因此,基本上经过大量检查后,我发现问题是我在另一个片段内返回到该片段,因为我有一个侦听器指出那里并尝试打开该方法。

基本上我只是把它包裹在一个

if (getActivity() != null) {
    // Code goes here.
}

并解决了问题。

非常感谢所有的帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 创建适配器时出现 NullPointerException 的相关文章

随机推荐