У меня есть следующий код, пытаясь создать простой ListAdapter в ListView (у меня был этот код, работающий до этого, и это единственное место, где я что-то изменил):
public BuddyListAdapter(Context context, HashMap<String, Buddy> hashMap) {
buddyList = new ArrayList<Buddy>(hashMap.values());
mInflater = LayoutInflater.from(context);
ctx = context;
}
При переходе ничего не происходит, но при запуске я получаю NullPointerException
в ChoreoGrapher.doCallbacks
, когда я создаю пустой ArrayList
, он не сбой:
public BuddyListAdapter(Context context, HashMap<String, Buddy> hashMap) {
buddyList = new ArrayList<Buddy>();
mInflater = LayoutInflater.from(context);
ctx = context;
}
Что такое ChoreoGrapher
и почему это сбой моего приложения?
Я полностью застрял в том, что может быть проблемой, или как понять, что не так. Отладчик Eclipse или информация о сбоях на самом деле не помогают.
Вся трассировка стека выглядит следующим образом:
Thread [<1> main] (Suspended (exception NullPointerException))
Choreographer.doCallbacks(int, long) line: 558
Choreographer.doFrame(long, int) line: 525
Choreographer$FrameDisplayEventReceiver.run() line: 711
Handler.handleCallback(Message) line: 615
Choreographer$FrameHandler(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 137
ActivityThread.main(String[]) line: 4745
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 786
ZygoteInit.main(String[]) line: 553
NativeStart.main(String[]) line: not available [native method]
У меня также есть Handler
в основной деятельности. Когда он ничего не делает, список не падает. Тем не менее, я удаляю все обратные вызовы из него перед открытием списка.