2012-08-07 20 views
0

所以我有一個約10行數據的ListView。它呈現很好,但是當我嘗試做一個mListView.getChildAt(index);調用,如果下面的結果包含從頂端開始的第5行,則結果視圖爲NULL。ListView空指針異常當訪問行「降低」列表

這裏是我打這個電話,一個logcat的,並真誠感謝你在前進:

View r = manageTransfersList.getChildAt(mTaskIndex); 

其中mTaskIndex

public void onListItemClick(ListView l, View v, int position, long id) { 
      ... 
      mTaskIndex = position; 
    ... 
} 

logcat的傳遞:

08-07 09:15:12.420: E/AndroidRuntime(7657): FATAL EXCEPTION: main 
08-07 09:15:12.420: E/AndroidRuntime(7657): java.lang.NullPointerException 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at org.globus.globus.transfer.ManageTransfersFragment$TaskDetailsDialogFragment$1.onClick(ManageTransfersFragment.java:469) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.view.View.performClick(View.java:4084) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.view.View$PerformClick.run(View.java:16966) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.os.Handler.handleCallback(Handler.java:615) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.os.Handler.dispatchMessage(Handler.java:92) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.os.Looper.loop(Looper.java:137) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at android.app.ActivityThread.main(ActivityThread.java:4896) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at java.lang.reflect.Method.invoke(Method.java:511) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 
08-07 09:15:12.420: E/AndroidRuntime(7657):  at dalvik.system.NativeStart.main(Native Method) 
+0

所以你從onListItemClick()內調用getChildAt()? – 2012-08-07 14:35:18

+0

是使用Listview還是ExpandableListview? – 2012-08-07 14:41:02

+0

不是'v'你正在尋找的'View'?否則,也許你沒有在正確的地方使用它。我一直在玩ListViews,當它不容易,然後有另一種方式來做你想要的。問你想用你的ListView做什麼! – Vince 2012-08-07 14:42:46

回答

1

嘗試使用您想要的數據項目

manageTransfersList.getAdapter().getItem(mTaskIndex); 

或者,如果你想要的視圖,只是用「V」參數從onListItemClick

+0

謝謝!這使它工作。 – 2012-08-07 18:25:15

0

我想你想去(無需通過適配器或子索引搜索以獲得該項目)的列表的適配器而不是列表,以獲取位置n處的項目或位置n處的視圖的詳細信息。

即我有我的項目:

IconifiedText文本=(IconifiedText)adapter.getItem(位置);