06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:2564)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.FocusFinder.findNextFocus(FocusFinder.java:73)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.widget.ScrollView.arrowScroll(ScrollView.java:820)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.widget.ScrollView.executeKeyEvent(ScrollView.java:350)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.widget.ScrollView.dispatchKeyEvent(ScrollView.java:318)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
06-17 10:53:59.880: E/AndroidRuntime(940):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1667)
06-17 10:53:59.880: E/AndroidRuntime(940):  at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1102)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.app.Activity.dispatchKeyEvent(Activity.java:2063)
06-17 10:53:59.880: E/AndroidRuntime(940):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1643)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2471)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2441)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1735)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.os.Looper.loop(Looper.java:123)
06-17 10:53:59.880: E/AndroidRuntime(940):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-17 10:53:59.880: E/AndroidRuntime(940):  at java.lang.reflect.Method.invokeNative(Native Method)
06-17 10:53:59.880: E/AndroidRuntime(940):  at java.lang.reflect.Method.invoke(Method.java:521)
06-17 10:53:59.880: E/AndroidRuntime(940):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-17 10:53:59.880: E/AndroidRuntime(940):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-17 10:53:59.880: E/AndroidRuntime(940):  at dalvik.system.NativeStart.main(Native Method)

解决方案 »

  1.   

    06-27 06:28:24.340: E/AndroidRuntime(667): FATAL EXCEPTION: main
    06-27 06:28:24.340: E/AndroidRuntime(667): java.lang.IllegalArgumentException: parameter must be a descendant of this view
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:2627)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:2564)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.FocusFinder.findNextFocus(FocusFinder.java:73)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.widget.ScrollView.arrowScroll(ScrollView.java:820)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.widget.ScrollView.executeKeyEvent(ScrollView.java:350)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.widget.ScrollView.dispatchKeyEvent(ScrollView.java:318)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:788)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1667)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1102)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.app.Activity.dispatchKeyEvent(Activity.java:2063)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1643)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2471)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2441)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1735)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.os.Handler.dispatchMessage(Handler.java:99)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.os.Looper.loop(Looper.java:123)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at java.lang.reflect.Method.invokeNative(Native Method)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at java.lang.reflect.Method.invoke(Method.java:521)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-27 06:28:24.340: E/AndroidRuntime(667):  at dalvik.system.NativeStart.main(Native Method)
      

  2.   

    楼主应该是在实例化某个对象时候参数不对,类似:
    java.lang.IllegalArgumentException: parameter must be a descendant of this view
    ListView view = new ListView(this);
    如果在嵌套的类里实例化,应该是 XXXActivity.this,注意查看下有没有类似这种实例化的语句!
      

  3.   

    楼主应该是在滑动到底部时候加载数据的出的错吧 一般是我们在滑动的时候 可能不小心点到了某个item 然而listview正在加载数据 这样会造成 我们刚才点的第5个item就不是原来的item 这中时候就会报楼主说的错误了 解决的话 就是加个线程标志位 主要数据再加载的时候 让点击事件失效就行了
      

  4.   

    比如说 我定义一个全局的boolean变量 在listview的item点击事件中 加一个
    if(boolean){你要实现的内容}
    当listview填充数据的时候 把boolean设为false 填充完成的时候设为true
    这样就算你不小心点到了item boolean为false 也不会执行item点击了
      

  5.   


    我的数据都已经加载完毕了,listview中数据全部加载了,然后滑动listview的时候报这个错误
      

  6.   

    Override
    public View getView(int position, View convertView, ViewGroup vireGroup) {
    int type = getItemViewType(position);

    ViewHolder0 holder0 = null;
    ViewHolder1 holder1 = null;
    ViewHolder2 holder2 = null; switch (type) {
    case DataUtil.LISTVIEW_ZERO:
    holder0 = new ViewHolder0();
    if(convertView == null){
    convertView = inflater.inflate(R.layout.registerzero, null);
    holder0.textView = (TextView) convertView.findViewById(R.id.register_zerotext);
    holder0.editText = (EditText) convertView.findViewById(R.id.register_zeroedit);
    convertView.setTag(holder0);
    } else {
    holder0 = (ViewHolder0) convertView.getTag();
    }
    holder0.textView.setText(listItems.get(position).getCname());
    break;

    case DataUtil.LISTVIEW_FIRST:
    holder1 = new ViewHolder1();
    if(convertView == null){
    convertView = inflater.inflate(R.layout.registerfirst, null);
    holder1.textView = (TextView) convertView.findViewById(R.id.register_spinner2Name);
    holder1.spinner = (Spinner) convertView.findViewById(R.id.register_spinner2);
    convertView.setTag(holder1);
    } else {
    holder1 = (ViewHolder1) convertView.getTag();
    }
    holder1.textView.setText(listItems.get(position).getCname()); final Map<String, Object> spinnerData = listItems.get(position).getDownlist();
    final List<String> dataList = new ArrayList<String>();
    for(Iterator i= spinnerData.keySet().iterator(); i.hasNext();){
    String key = (String) i.next();
    dataList.add(key);
    }

    setAdapter(holder1.spinner, dataList);
    holder1.spinner.setOnItemSelectedListener((OnItemSelectedListener) context);
    holder1.spinner.setTag(dataList);
    break;

    case DataUtil.LISTVIEW_SECOND:
    holder2 = new ViewHolder2();
    if(convertView == null){
    convertView = inflater.inflate(R.layout.registerother, null);
    holder2.textView = (TextView) convertView.findViewById(R.id.register_otherName);
    holder2.editText = (EditText) convertView.findViewById(R.id.register_otherContent);
    holder2.dataPicker = (DatePicker) convertView.findViewById(R.id.register_otherdatePicker1);
    convertView.setTag(holder2);
    } else {
    holder2 = (ViewHolder2) convertView.getTag();
    }
    holder2.textView.setText(listItems.get(position).getCname());

    if("NUMERIC".equals(listItems.get(position).getDataType())){    //数字类型
    holder2.editText.setKeyListener(new DigitsKeyListener(false, true)); //设置输入内容只能是数字
    holder2.editText.setHint(R.string.register_hint);
    }else if("DATE".equals(listItems.get(position).getDataType())){  //日期类型
    //添加日期控件
    holder2.editText.setVisibility(View.GONE);
    holder2.dataPicker.setVisibility(View.VISIBLE);
    holder2.dataPicker.init(mYear, mMonth, mDay, mDateChangedListener);
    }
    break; default:
    break;
    }
    return convertView;
    }
      

  7.   

    我觉得应该log下type的值看看 是不是你的type不符合任何一个case的判断条件
      

  8.   

    我没有item的点击事件,就是在滑动的时候报错
      

  9.   

    我没有item的点击事件,就是在滑动的时候报错
      

  10.   

    看Log貌似是某个item(view)没有加入到当前这个list(viewGroup)中
      

  11.   

    解决方法:
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    //abandon current focus
    Activity activity = (Activity) getContext();
    View currentFocus = activity.getCurrentFocus();
    if (currentFocus != null) {
    currentFocus.clearFocus();
    }是由于IME与界面造成的