我正在创建一个列表视图的阵列适配器, 一切工作正常,我有2个片段和2个按钮在这两个片段之间更改的操作栏的顶部。 我的问题是,我得到的崩溃,如果我操之过急那些断肢之间,当我打开fragOne,切换到fragTwo,然后迅速搬回fragOne .. fragOne抛出从getActivity上下文NPE ..Android - NullPointerException从创建适配器
这
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)
任何想法我怎么能解决这个问题呢?
你得到因片段周期的问题上崩溃的是有时会导致getActivity()为空。 – jvrodrigues 2015-02-09 16:30:51
getApplicationContext()不是最优的,因为它不会在适配器内设置任何样式。 ContextTheme将应用程序上下文与应用程序主题一起打包,或者使适配器成为全局对象,以便在片段恢复时不会尝试实例化另一个适配器,并且您的应用程序不会崩溃。 – jvrodrigues 2015-02-09 16:34:10
jvrodrigues谢谢你的回答,你能解释一下吗?我完全不明白,谢谢! – JozeRi 2015-02-09 16:39:37