所以我有一个包含大约10行数据的ListView。它渲染得很好,但是当我尝试做一个mListView.getChildAt(索引)时;调用时,如果结果视图低于并且包括从顶部开始的第5行,则结果视图为NULL。
这是我打电话的地方,一个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 :(得分:1)
尝试使用您想要的数据项
manageTransfersList.getAdapter().getItem(mTaskIndex);
或者如果您想要视图,只需使用onListItemClick中的“v”参数(无需通过适配器获取项目或按子索引搜索)
答案 1 :(得分:0)
我认为您想要转到列表的适配器而不是列表,以获取位置n处的项目或位置n处的视图的详细信息。
即。我的项目有:
IconifiedText text =(IconifiedText)adapter.getItem(position);