我的应用程序中有一个字符串数组列表,其中包含从主活动中的网站中提取的数据。我使用onPause()
来保存此数组列表中的大小和数据,以便在用户导航回此活动时,数据仍然存在。
截至目前,如果单击列表中的项目,它将按预期打开新活动。按下“后退”键也会导航回主要活动,同时显示列表内容,这也是我想要的。但是,从这里,如果我单击任何列表项,应用程序崩溃。 Logcat针对我的数组列表提到NullPointerException
,错误为'Unable to Pause Activity'
。
我的代码:
对于onPause()
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();
}
对于onCreate()
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));
}
我收到了headlines
数组列表的错误!
onPause()
第一次如何完美运作,并在任何后续项目点击时崩溃应用程序?
其他一些信息:
我在一个单独的线程上连接到互联网,从网站上提取数据,将这些数据传递给更新我的字符串数组列表的处理程序。它还在单独的变量headlinessize
中更新数组列表的大小。此外,headlines
和links
是相同大小的字符串数组列表。
谢谢!