android-奇异bug:parameter must be a descendant of this view


项目上线后遇到一个问题:

java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5336)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:5265)
at android.view.ViewGroup$ViewLocationHolder.init(ViewGroup.java:7775)
at android.view.ViewGroup$ViewLocationHolder.obtain(ViewGroup.java:7709)
at android.view.ViewGroup$ChildListForAccessibility.init(ViewGroup.java:7644)
at android.view.ViewGroup$ChildListForAccessibility.obtain(ViewGroup.java:7612)
at android.view.ViewGroup.addChildrenForAccessibility(ViewGroup.java:1929)
at android.view.ViewGroup.onInitializeAccessibilityNodeInfoInternal(ViewGroup.java:2980)
at android.widget.AdapterView.onInitializeAccessibilityNodeInfoInternal(AdapterView.java:983)
at android.widget.AbsListView.onInitializeAccessibilityNodeInfoInternal(AbsListView.java:1608)
at android.widget.ListView.onInitializeAccessibilityNodeInfoInternal(ListView.java:3909)
at android.view.View.onInitializeAccessibilityNodeInfo(View.java:6097)
at android.view.View.createAccessibilityNodeInfoInternal(View.java:6056)
at android.view.View.createAccessibilityNodeInfo(View.java:6041)
at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:145)
at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:119)
at android.view.View.onInitializeAccessibilityEventInternal(View.java:5993)
at android.widget.AdapterView.onInitializeAccessibilityEventInternal(AdapterView.java:994)
at android.view.View.onInitializeAccessibilityEvent(View.java:5981)
at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5846)

出现原因:一个这样的View:

AbsListView.LayoutParams params = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, ((int) (202f / 720f * Util.getScreenWidth()) + Util.dip2px(45)));
placeHolderViewDiscuss = new LinearLayout(getActivity());
placeHolderViewDiscuss.setLayoutParams(params);

给三个ListView中addview,如:

ListView.addHeaderView(placeHolderViewDiscuss);

出现异常崩溃(部分机型),即时加了try{}catch(){}一样无效;


解决方法:

new 3个View,添加到不同的Listview中。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值