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)
我通过添加这样的自定义侦听器来修复此错误:
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:参数必须是此视图的后代"错误
| 归档时间: |
|
| 查看次数: |
10298 次 |
| 最近记录: |