Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由于字符串数组列表上出现空指针异常,无法暂停活动_Java_Android_Arraylist_Sharedpreferences_Onpause - Fatal编程技术网

Java 由于字符串数组列表上出现空指针异常,无法暂停活动

Java 由于字符串数组列表上出现空指针异常,无法暂停活动,java,android,arraylist,sharedpreferences,onpause,Java,Android,Arraylist,Sharedpreferences,Onpause,我的应用程序中有一个字符串数组列表,其中包含从主要活动中的网站获取的数据。我正在使用onPause保存此数组列表中的大小和数据,这样,如果用户导航回此活动,数据将保持不变 到目前为止,如果单击列表中的某个项目,它将按预期打开新活动。硬按“后退”键也会导航回主活动,并显示列表内容,这也是我想要的。但是,从这里开始,如果我单击任何列表项,应用程序就会崩溃。Logcat提到有关我的数组列表的NullPointerException,错误为“无法暂停活动” 我的代码: 暂停 对于onCreate 我得到

我的应用程序中有一个字符串数组列表,其中包含从主要活动中的网站获取的数据。我正在使用onPause保存此数组列表中的大小和数据,这样,如果用户导航回此活动,数据将保持不变

到目前为止,如果单击列表中的某个项目,它将按预期打开新活动。硬按“后退”键也会导航回主活动,并显示列表内容,这也是我想要的。但是,从这里开始,如果我单击任何列表项,应用程序就会崩溃。Logcat提到有关我的数组列表的NullPointerException,错误为“无法暂停活动”

我的代码:

暂停

对于onCreate

我得到了标题数组列表的错误

onPause如何在第一次完美工作,并在随后的任何项目单击中崩溃应用程序

一些补充资料:

我在一个单独的线程上连接到internet,从站点上提取数据,将这些数据传递给一个处理程序,该处理程序更新我的字符串数组列表。它还更新单独变量headlinessize中数组列表的大小。标题和链接也是同样大小的字符串数组列表


谢谢

在检索你的大小之前,请检查你的对象是否为空。因此,发布堆栈跟踪。我检查了标题和链接列表的内容。当主活动返回到时,两者都保留数据。此外,我还注意到,它不会仅在第二次尝试单击列表项时关闭。之后,它会再次打开活动,就像重新打开应用一样。似乎两个列表都已正确填充。但是它仍然会出现一个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));
    }