Невозможно приостановить действие из-за исключения нулевого указателя в списке массивов строк
У меня есть список строкового массива в моем приложении, который содержит данные, извлеченные с веб-сайта в основной деятельности. я использую 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
списки строковых массивов одинакового размера.
Спасибо!