SimpleCursorTreeAdapter проблема с обновлением данных

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Eserchik
Сообщения: 14
Зарегистрирован: 04 авг 2012, 13:29

SimpleCursorTreeAdapter проблема с обновлением данных

Сообщение Eserchik » 22 ноя 2012, 11:28

Люди помогите пожалуйста, бьюсь уж 2-й день.
У меня наблюдается странное поведение при обновлении данных в SimpleCursorTreeAdapter. Есть два Activity: ActivityButton и ActivityTreeAdapter. Первым запускается ActivityButton из которого мы можем перейти в ActivityTreeAdapter. Функционал ActivityTreeAdapter следующий: Возможность в ручную создать группы, а в группы распихивать элементы.
Проблема заключается в следующем: Если я первый раз в группу записываю элемент, то при попытке развернуть группу приложение сваливается в ошибку "java.lang.NullPointerException"(при этом данные все записываются).
При повторном заходе в ActivityTreeAdapter все становиться нормально, я вижу только что созданную мной группу, которая нормально разворачивается. При этом я нормально могу добавлять новые группы и элементы уже безо всяких ошибок.
Т.е можно сделать например так зайти в ActivityTreeAdapter создать группы, вернуться в ActivityButton и обратно в ActivityTreeAdapter где уже абсолютно нормально можно создавать вложенные элементы.

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

Вот данные из LogicCat:

java.lang.NullPointerException android.widget.SimpleCursorTreeAdapter.bindView(SimpleCursorTreeAdapter.java:243) android.widget.SimpleCursorTreeAdapter.bindChildView(SimpleCursorTreeAdapter.java:262) android.widget.CursorTreeAdapter.getChildView(CursorTreeAdapter.java:250) android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:450)

Вот DEBUG:

Thread [<1> main] (Suspended (exception NullPointerException))
ExpandableListView(ListView).layoutChildren() line: 1662
ExpandableListView(AbsListView).onLayout(boolean, int, int, int, int) line: 1147
ExpandableListView(View).layout(int, int, int, int) line: 7035
LinearLayout.setChildFrame(View, int, int, int, int) line: 1249
LinearLayout.layoutVertical() line: 1125 LinearLayout.onLayout(boolean, int, int, int, int) line: 1042
LinearLayout(View).layout(int, int, int, int) line: 7035 FrameLayout.onLayout(boolean, int, int, int, int) line: 333 FrameLayout(View).layout(int, int, int, int) line: 7035 PhoneWindow$DecorView(FrameLayout).onLayout(boolean, int, int, int, int) line: 333
PhoneWindow$DecorView(View).layout(int, int, int, int) line: 7035
ViewRoot.performTraversals() line: 1045 ViewRoot.handleMessage(Message) line: 1727
ViewRoot(Handler).dispatchMessage(Message) line: 99 Looper.loop() line: 123 ActivityThread.main(String[]) line: 4627 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626 NativeStart.main(String[]) line: not available [native method]

Вот код ActivityTreeAdapter:

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: SimpleCursorTreeAdapter проблема с обновлением данных

Сообщение rezak90 » 22 ноя 2012, 12:56

так смотрите где у вас нулл выскакивает, на какой строке, то что лог выклали это хорошо, но где у вас нулл выскакивает нужен экстрасенс =)
R.id.team
Политика на форуме запрещена

Ответить