прочитайте много вопросов о NPE ... все еще в неведении.
Я объявляю просмотр списка:
public class SelecteerKernen extends Activity {
protected WoordData kerndata;
public ListView listView = null;
Позже я заполняю его данными из базы данных SQLite.Это работает.
// Fill Listview with the kern-names
ListView listView = (ListView) findViewById(R.id.kernenlist);
listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, al));
Но затем, когда я хочу посчитать элементы, чтобы сохранить отмеченные элементы в настройках, я получаю NPE в строке int count = ... этого кода.
Редактировать Я решил строку count .., теперь строка if (this.listView) ... выбрасывает NPE .. Argh!:
private String getSavedItems() {
String savedItems = "";
int count = this.listView.getAdapter().getCount();
for (int i = 0; i < count; i++) {
//edit now THIS line trows the NPE :
if (this.listView.isItemChecked(i)) {
if (savedItems.length() > 0) {
savedItems += "," + this.listView.getItemAtPosition(i);
} else {
savedItems += this.listView.getItemAtPosition(i);
}
}
}
return savedItems;
Спасибо за помощь !!
PS.Я заметил, что пользователи просят LogCats.Как это может помочь найти ошибку?Вот мое:
11-01 19: 42: 35.680: W / dalvikvm (28146): threadid = 1: поток, выходящий с необработанным исключением (группа = 0x40015560) 11-01 19: 42: 35.700: E / AndroidRuntime (28146): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное 11-01 19: 42: 35.700: E / AndroidRuntime (28146): java.lang.NullPointerException 11-01 19: 42: 35.700: E / AndroidRuntime (28146): вhappyworx.nl.Flitswoorden.SelecteerKernen.getSavedItems (SelecteerKernen.java:163) 11-01 19:42-01 19: 42: 35.700: E / AndroidRuntime (28146): at happyworx.nl.Flitswoorden.SelecteerKernen.access $ 0 (SelecteerKernen.java:115) 11-01 19: 42: 35.700: E / AndroidRuntime (28146): вhappyworx.nl.Flitswoorden.SelecteerKernen $ 1.onClick (SelecteerKernen.java:72) ...