2013-07-22 3 views
0

Ошибка при обращении с приложениями null Исключение указателя в строке RoomList.getAdapter().getCount(). Мне нужно получить каждое редактирование текстового значения от listview и применить к нему некоторые вычисления, после поиска различных сообщений я нашел это решение, но он не работает должным образом.NullPointerException в методе listview.getCount()

RoomList = (ListView) vi.findViewById(R.id.list2); 
for (int i = 0; i < RoomList.getAdapter().getCount(); i++) { 
     View view = RoomList.getChildAt(i); 
     EditText edit = (EditText) view.findViewById(R.id.editRoom); 
     Log.d("value from each edit text", edit.getText().toString()); 
} 

ответ

1

Вы NPE, потому что RoomList.getAdapter() возвращается null. Возможно, вы не звонили RoomList.setAdapter(ListAdapter adapter).

Кстати, вы должны изменить имя RoomList на roomList, придерживаться Java convention. RoomList.getAdapter() на первый взгляд выглядит как статический вызов метода некоторого RoomList класса.

+0

Thanx для suggestion.I смещена мой код, теперь NPE брошено для EditText редактирования = (EditText) view.findViewById (R.id.editRoom), что еще здесь не так? – user2546015

+0

'findViewById (R.id.editRoom)' возвращает 'null', что означает, что' R.id.editRoom' не был найден в XML-макете, который вы установили с помощью 'setContentView (R.layout.your_layout_which_must_have_editRoom_id)'. Вы также можете восстановить файл «R.java», очистив проект «Project'>' Clean ... », чтобы убедиться, что' R.java' обновлен. –

+0

Я определил EditText с id editRoom в xml-файле. – user2546015

0

Проблема в том, что вы получаете доступ к адаптеру своего списка без предварительной установки.

RoomList = (ListView) vi.findViewById(R.id.list2); 
RoomList.setAdapter(new SubClassOfBaseAdapter()); // <-- setup your adapter here, with anArrayAdapter or a sublass of BaseAdapter 
for (int i = 0; i < RoomList.getAdapter().getCount(); i++) { 
    View view = RoomList.getChildAt(i); 
    EditText edit = (EditText) view.findViewById(R.id.editRoom); 
    Log.d("value from each edit text", edit.getText().toString()); 
} 
Смежные вопросы