Android NullPointerException onListItem在滚动时单击
我试图从列表视图中获取文本的值。对于最上面的行,它可以正常工作,但当我向下滚动时,它返回空值 LOGCATAndroid NullPointerException onListItem在滚动时单击,android,Android,我试图从列表视图中获取文本的值。对于最上面的行,它可以正常工作,但当我向下滚动时,它返回空值 LOGCAT 12-12 06:28:31.960: E/AndroidRuntime(1690): FATAL EXCEPTION: main 12-12 06:28:31.960: E/AndroidRuntime(1690): java.lang.NullPointerException 12-12 06:28:31.960: E/AndroidRuntime(1690): at com.
12-12 06:28:31.960: E/AndroidRuntime(1690): FATAL EXCEPTION: main
12-12 06:28:31.960: E/AndroidRuntime(1690): java.lang.NullPointerException
12-12 06:28:31.960: E/AndroidRuntime(1690): at com.example.graphjsoup.ShowOrderList.onListItemClick(ShowOrderList.java:42)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.widget.AbsListView.performItemClick(AbsListView.java:1100)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2788)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.widget.AbsListView$1.run(AbsListView.java:3463)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.os.Handler.handleCallback(Handler.java:730)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.os.Handler.dispatchMessage(Handler.java:92)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.os.Looper.loop(Looper.java:137)
12-12 06:28:31.960: E/AndroidRuntime(1690): at android.app.ActivityThread.main(ActivityThread.java:5103)
12-12 06:28:31.960: E/AndroidRuntime(1690): at java.lang.reflect.Method.invokeNative(Native Method)
12-12 06:28:31.960: E/AndroidRuntime(1690): at java.lang.reflect.Method.invoke(Method.java:525)
12-12 06:28:31.960: E/AndroidRuntime(1690): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
12-12 06:28:31.960: E/AndroidRuntime(1690): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-12 06:28:31.960: E/AndroidRuntime(1690): at dalvik.system.NativeStart.main(Native Method)
在onListItemClick中,即使向下滚动,返回的所有“位置”值都是正确的。但是在较低的值上给出了错误
代码
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
View mView = l.getChildAt(position);
Log.d("xxListView", l.toString() + "");
Log.d("xxPosm", mView.toString() + "");
mOrderId = (TextView) mView.findViewById(R.id.order_id);
Id = mOrderId.getText().toString();
Log.d("xxID", Id + "+1");
new DialogBox().execute();
}
我试图将mView的值转换为字符串,得到如下结果。我不断点击每一行,它会返回一些字符串(我不知道是什么意思)。每次单击时,突出显示的值都会增加。它一到1000点就坠毁了。我不知道这是否有用。如果有人也能解释一下,那就太好了。
更改
文本视图,如下所示:
mOrderId = (TextView) v.findViewById(R.id.order_id);
为什么不使用此事件中传递的视图v
。这是相同的子视图
protected void onListItemClick(ListView l, View v, int position, long id)