2014-11-05 255 views
9

我在应用程序用户中遇到了以下例外情况:无法从日志跟踪中了解。如果有人有一些想法,请分享。IllegalArgumentException参数必须是此视图在ViewGroup.offsetRectBetweenParentAndChild的后代

致命异常:java.lang。 抛出:IllegalArgumentException 参数必须是这种观点的后代 原料

android.view.ViewGroup.offsetRectBetweenParentAndChild (ViewGroup.java:4563) android.view.ViewGroup.offsetDescendantRectToMyCoords (ViewGroup.java:4500 )android.view.ViewGroup $ ViewLocationHolder.init (ViewGroup.java:6738)android.view.ViewGroup $ ViewLocationHolder.obtain (ViewGroup.java:6675) android.view.ViewGroup $ ChildListForAccessibility.init (ViewGroup.java :6633) android.view.ViewGroup $ ChildListForAccessibility.obtain (ViewGroup.java:6601) android.view.ViewGroup.addChildrenForAccessibility (ViewGroup.java:1703) android.view.ViewGroup.onInitializeAccessibilityNodeInfoInternal (ViewGroup.java:2530) android.view.View.onInitializeAccessibilityNodeInfo(View.java:5209) android.widget.AdapterView.onInitializeAccessibilityNodeInfo (AdapterView.java:937) android.widget.AbsListView.onInitializeAccessibilityNodeInfo (AbsListView.java:1492) android.widget .ListView.onInitializeAccessibilityNodeInfo (ListView.java:3781) android.view.View.createAcce

protected class MyScrollListener implements OnScrollListener { 

     @Override 
     public void onScroll(AbsListView view, int firstVisibleItem, 
       int visibleItemCount, int totalItemCount) { 
      // do nothing 
     } 

     @Override 
     public void onScrollStateChanged(AbsListView view, int scrollState) { 
      if (SCROLL_STATE_TOUCH_SCROLL == scrollState) { 
       View currentFocus = getCurrentFocus(); 
       if (currentFocus != null) { 
        currentFocus.clearFocus(); 
       } 
      } 
     } 

    } 

然后使用:ssibilityNodeInfoInternal(View.java:5170) android.view.View.createAccessibilityNodeInfo(View.java:5157)

+0

请发布代码 – 2014-11-05 07:59:51

回答

6

我通过添加自定义侦听这样解决了这个错误您创建的侦听器:

listview.setOnScrollListener(MyScrollListener); 

有关详细信息,请参阅本(代码也从这个链接所):Preventing/catching "IllegalArgumentException: parameter must be a descendant of this view" error

+1

问题是我在我的应用程序中有多个'ListView',收到的崩溃日志没有关于导致崩溃的信息。 – Ammar 2014-11-05 11:57:11

+0

@Ammar是的,我知道你的感受。我把它放在我所有的列表中。不幸的是,我不知道更简单的解决方案。 – 2014-11-05 11:58:24

2

我试着调用EditText小部件的clearFocus()成员,但那对我不起作用。然而,工作的是调用父级的clearChildFocus(View)函数。 它在代码:

ViewParent parent = mEditText.getParent(); 
parent.clearChildFocus(mEditText); 
+0

为我工作,但担心,因为我不知道为什么它的作品。有人可以解释吗? – sudocoder 2015-03-10 00:11:54

0

这对我有用。

convertView = mInflater.inflate(R.layout.row_stat_header, 
        parent, false); 

这里,parent是getView中的ViewGroup参数。

相关问题