用PullToRefreshListView 做下拉,上拉功能,android4.0环境下报如下异常,android2.3正常11-23 10:14:34.442: E/AndroidRuntime(3990): java.lang.IllegalArgumentException: historyPos out of range
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.MotionEvent.nativeGetAxisValue(Native Method)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.MotionEvent.getHistoricalY(MotionEvent.java:2283)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.umetown.widget.PullToRefreshListView.applyHeaderPadding(PullToRefreshListView.java:244)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.umetown.widget.PullToRefreshListView.onTouchEvent(PullToRefreshListView.java:215)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.View.dispatchTouchEvent(View.java:5553)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2013)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1740)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2019)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1754)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2019)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1754)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2019)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1754)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2019)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1754)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1928)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1387)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.app.Activity.dispatchTouchEvent(Activity.java:2378)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1876)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.View.dispatchPointerEvent(View.java:5733)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3104)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2666)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:900)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:914)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2642)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.os.Looper.loop(Looper.java:137)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at android.app.ActivityThread.main(ActivityThread.java:4624)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at java.lang.reflect.Method.invokeNative(Native Method)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at java.lang.reflect.Method.invoke(Method.java:511)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
11-23 10:14:34.442: E/AndroidRuntime(3990):  at dalvik.system.NativeStart.main(Native Method)
我才做android没几天,求指导

解决方案 »

  1.   

    这是对应的代码
    /**
     * TASK监听 
     */
    private TaskListener friendsBlogListener = new TaskAdapter() { @Override
    public void onPreExecute(GenericTask task) {
    //dialog=ProgressDialog.show(FriendsBlogActivity.this, "", "加载中...", true);
    //dialog.setCancelable(true);
    mPushList.prepareForRefresh();
    } @Override
    public void onProgressUpdate(GenericTask task, Object param) {
    //updateProgress((String) param);
    } @Override
    public void onPostExecute(GenericTask task, TaskResult result) {
    if (result == TaskResult.OK) {
    //listview.setAdapter(adapter);
    mPushList.setAdapter(friendsBlogListAdapter);
    mPushList.onRefreshComplete();
    //dialog.dismiss();
    if(isfresh){//第一页refresh
    currentPage=1;
    blogList.clear();

    }
    if (blogListTemp.size() < 20) {
    mPushList.removeFooterView(mLoadView);
    } else if (mPushList.getFooterViewsCount() == 0) {
    mPushList.addFooterView(mLoadView);
    }
    blogList.addAll(blogListTemp);
        friendsBlogListAdapter.notifyDataSetChanged();
    mPushList.setOnItemClickListener(new OnItemClickListener() { @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,
    int arg2, long arg3) {
    // TODO Auto-generated method stub
    if(arg2>0){
         Bundle bundle=new Bundle();
         bundle.putSerializable("contactUser",blogList.get(arg2-1).getUser());
         UiControl.jump(FriendsBlogActivity.this, ContactDetailActivity.class, bundle, false);
    }
    // UiControl.messageBox(FriendsBlogActivity.this,"testtest!!!!", true);

    }
    });
    } else {
    //dialog.dismiss();
    UiControl.messageBox(FriendsBlogActivity.this,"加载失败!", true);
    //onLoginFailure(((LoginTask) task).getMsg());
    }

    modifyReult=false;
    } @Override
    public String getName() {
    // TODO Auto-generated method stub
    return "Login";
    }
    };