1
我有以下問題時:安卓:空指針上的ListItem點擊呼叫showContextMenuForChild
我顯示在一個ListView項目,我想顯示一個ContextMenu的項目,如果用戶點擊它。所以我所做的是,添加OnItemClickListener用下面的代碼:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (view == null) {
return;
}
if (sessionListView == null) {
sessionListView = (SessionListView) findViewById(R.id.sessionlist);
}
if (view != null) {
sessionListViewSelected = position;
sessionListViewSelectedKey = (String) authList.keySet().toArray()[position];
sessionListView.showContextMenuForChild(view);
}
}
現在,有時候我以下錯誤:
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.AdapterView.getPositionForView(AdapterView.java:581)
at android.widget.AbsListView.showContextMenuForChild(AbsListView.java:1926)
at de.trier.infsec.koch.droidsheep.activities.ListenActivity.onItemClick(ListenActivity.java:322)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3513)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1849)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
是否有人有意見,什麼可能是什麼問題?
謝謝!
難道它會顯示在你改變的ListView的內容是什麼? –
是的,還有另一個線程,它改變了ListAdapter和一個處理程序刷新列表......可能這會導致問題? –
這裏有一些關於'getPositionForView()'拋出'NullPointerException'的信息,並解釋它爲什麼會發生: http://code.google.com/p/android/issues/detail?id=3175 –