IllegalArgumentException参数必须是ViewGroup.offsetRectBetweenParentAndChild中此视图的后代

Amm*_*mar 10 android android-viewgroup

我在崩溃日志中从我的一个app用户那里得到了以下异常.无法从日志跟踪中了解.如果有人有想法,请分享.

致命异常:java.lang.IllegalArgumentException参数必须是此视图 raw 的后代

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.createAccessibilityNodeInfoInternal(View.java:5170)andro id.view.View.createAccessibilityNodeInfo(View.java:5157)

Bla*_*ama 6

我通过添加这样的自定义侦听器来修复此错误:

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();
                }
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

然后使用您创建的侦听器:

listview.setOnScrollListener(MyScrollListener);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此(代码也来自此链接):防止/捕获"IllegalArgumentException:参数必须是此视图的后代"错误

  • 问题是我的应用程序中有多个“ListView”,并且收到的崩溃日志没有有关导致崩溃的信息。 (2认同)