Exception dispatching input event. use XlistView

来源:互联网 发布:英国皇家建造师 知乎 编辑:程序博客网 时间:2024/06/05 21:18

今天上午解决的Bug,一上午的时间;

log:

11-01 14:49:14.826: E/InputEventReceiver(30810): Exception dispatching input event.11-01 14:49:14.850: E/AndroidRuntime(30810): FATAL EXCEPTION: main11-01 14:49:14.850: E/AndroidRuntime(30810): java.lang.NullPointerException11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.AbsListView.obtainView(AbsListView.java:2348)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.ListView.makeAndAddView(ListView.java:1845)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.ListView.fillDown(ListView.java:678)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.ListView.fillGap(ListView.java:642)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5602)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3346)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3699)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.hades.newstyle.customviews.XListView.onTouchEvent(XListView.java:369)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.View.dispatchTouchEvent(View.java:7347)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2352)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.hades.newstyle.customviews.XListView.dispatchTouchEvent(XListView.java:303)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2358)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2063)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2064)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1513)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.app.Activity.dispatchTouchEvent(Activity.java:2510)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2012)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.View.dispatchPointerEvent(View.java:7527)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3682)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3610)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4862)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4822)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4974)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:171)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4942)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4996)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.Choreographer.doCallbacks(Choreographer.java:579)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.Choreographer.doFrame(Choreographer.java:546)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.os.Handler.handleCallback(Handler.java:725)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.os.Handler.dispatchMessage(Handler.java:92)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.os.Looper.loop(Looper.java:153)11-01 14:49:14.850: E/AndroidRuntime(30810): at android.app.ActivityThread.main(ActivityThread.java:5326)11-01 14:49:14.850: E/AndroidRuntime(30810): at java.lang.reflect.Method.invokeNative(Native Method)11-01 14:49:14.850: E/AndroidRuntime(30810): at java.lang.reflect.Method.invoke(Method.java:511)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:848)11-01 14:49:14.850: E/AndroidRuntime(30810): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)11-01 14:49:14.850: E/AndroidRuntime(30810): at dalvik.system.NativeStart.main(Native Method)


跑的时候。APP一 滑动 就自动崩掉。

开始的时候:

一直以为是事件分发的问题,Debug  了 好久也没有找到Exception dispatching input event. 中的 java.lang.NullPointerException,在哪里!  找了一上午 也没有头绪。

        之后检查,ListView 适配器中的GetView() 方法的时候,发现,convertView

没有给view 赋值,而且返回的是 view.


       解决方案:

View view = convertView;

Code:


@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO 需要处理新款详情的 ListView布局Log.i("love", "---getCount()  size="+this.getCount());// View view = convertView;if(view == null){view = inflater.inflate(R.layout.fragment_new_fashtion_list_item, parent, false);}if(view != null){ViewHolder holder = (ViewHolder)view.getTag();if(holder == null){holder = new ViewHolder();holder.newImageView = (ImageView) view.findViewById(R.id.new_fashtion_item_image);holder.newTitleView = (TextView) view.findViewById(R.id.new_fashtion_item_title);holder.newShareBtn = (RadioButton) view.findViewById(R.id.new_fashtion_share_btn);holder.newCollectionBtn = (RadioButton) view.findViewById(R.id.new_fashtion_collection_btn);holder.newPriceBtn = (RadioButton) view.findViewById(R.id.new_fashtion_price_btn);view.setTag(holder);}// 获取当前的数据实体。NewStyleItemEntity entity = (NewStyleItemEntity)newStyleLists.get(position);Log.i("love", "---position="+position);Log.i("love", "---entity= "+newStyleLists.get(position).getPrice());holder.newTitleView.setText(newStyleLists.get(position).getTitle());holder.newPriceBtn.append(newStyleLists.get(position).getPrice());//图片的下载:}return view;}











0 0
原创粉丝点击