Java 由于字符串数组列表上出现空指针异常,无法暂停活动
我的应用程序中有一个字符串数组列表,其中包含从主要活动中的网站获取的数据。我正在使用onPause保存此数组列表中的大小和数据,这样,如果用户导航回此活动,数据将保持不变 到目前为止,如果单击列表中的某个项目,它将按预期打开新活动。硬按“后退”键也会导航回主活动,并显示列表内容,这也是我想要的。但是,从这里开始,如果我单击任何列表项,应用程序就会崩溃。Logcat提到有关我的数组列表的NullPointerException,错误为“无法暂停活动” 我的代码: 暂停 对于onCreate 我得到了标题数组列表的错误 onPause如何在第一次完美工作,并在随后的任何项目单击中崩溃应用程序 一些补充资料: 我在一个单独的线程上连接到internet,从站点上提取数据,将这些数据传递给一个处理程序,该处理程序更新我的字符串数组列表。它还更新单独变量headlinessize中数组列表的大小。标题和链接也是同样大小的字符串数组列表Java 由于字符串数组列表上出现空指针异常,无法暂停活动,java,android,arraylist,sharedpreferences,onpause,Java,Android,Arraylist,Sharedpreferences,Onpause,我的应用程序中有一个字符串数组列表,其中包含从主要活动中的网站获取的数据。我正在使用onPause保存此数组列表中的大小和数据,这样,如果用户导航回此活动,数据将保持不变 到目前为止,如果单击列表中的某个项目,它将按预期打开新活动。硬按“后退”键也会导航回主活动,并显示列表内容,这也是我想要的。但是,从这里开始,如果我单击任何列表项,应用程序就会崩溃。Logcat提到有关我的数组列表的NullPointerException,错误为“无法暂停活动” 我的代码: 暂停 对于onCreate 我得到
谢谢 在检索你的大小之前,请检查你的对象是否为空。因此,发布堆栈跟踪。我检查了标题和链接列表的内容。当主活动返回到时,两者都保留数据。此外,我还注意到,它不会仅在第二次尝试单击列表项时关闭。之后,它会再次打开活动,就像重新打开应用一样。似乎两个列表都已正确填充。但是它仍然会出现一个NullPointerException。你在简历上做什么?当你回到你的主要活动时,onResume将被激活。Ok。onCreate还不够吗?我包括了一个onResume代码。但是,出现了相同的NullExceptionError,现在表示“无法恢复活动”。
protected void onPause(){
super.onPause();
SharedPreferences preferences=PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor sEdit=preferences.edit();
sEdit.putInt("size",headlinessize);
for(int i=0;i<headlinessize-1;i++)
{
sEdit.putString("link"+i,links.get(i));
sEdit.putString("head"+i, headlines.get(i));
}
sEdit.commit();
}
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
headlinessize=preferences.getInt("size",0);
for(int j=0;j<headlinessize-1;j++)
{
headlines.add(preferences.getString("head"+j,null));
links.add(preferences.getString("link"+j,null));
}