Android Listview: попытка вызвать виртуальный метод 'android .view.View android .view.View.findViewById (int)' для ссылки на нулевой объект - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь создать список на основе элементов listview, и когда я go превышаю определенное количество элементов в списке и пытаюсь сохранить, я получаю эту ошибку. Вот мой код:

private void SaveList() {

        /** get all values of the EditText-Fields */
        View v;
        EditText et;
        TextView tv;
        for (int i = 0; i < lv.getCount(); i++) {
            v = lv.getChildAt(i);
            et = (EditText) v.findViewById(R.id.editid);
            tv = v.findViewById(R.id.field);

            EditModel saveDataItem = new EditModel(); //edit model is just an object containing values of the listview elements
            saveDataItem.setEditTextValue(et.getText().toString());
            saveDataItem.setFieldName(tv.getText().toString());

            saveList.add(saveDataItem);
        }

    }

И я объявляю savelist, когда действие создается следующим образом:

private ArrayList<EditModel> saveList = new ArrayList<>();

Я не получаю сообщение об ошибке, если длина списка меньше 8

1 Ответ

0 голосов
/ 09 июля 2020

О, я нашел решение, мне нужно было убедиться, что я использую listview.getChildCount () вместо listview.getCount ()

...