我对ViewGroup有一个奇怪的错误。 对于我的主视图,我使用此链接中的类ViewFlow project
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:4153)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:4090)
at android.view.ViewRootImpl.scrollToRectOrFocus(ViewRootImpl.java:2129)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1849)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1641)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2449)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
当我尝试使用Intent或finish()返回此视图时会发生此错误;另一个视图中的方法。当我使用后退按钮时,这不是问题。
所以我不知道为什么我有这个错误。 谢谢你的帮助。
答案 0 :(得分:3)
有同样的问题。我使用ViewFlow作为父视图和几个GridView作为子视图。当我按下Home键并在我左右滚动这些子视图后再次重新启动活动时,会发生此错误。
这是我的解决方案:
mViewFlow.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
当然,您可以在layout.xml中配置它。
希望能帮到你。
答案 1 :(得分:1)
从包含EditText的回收站视图中删除项目时,我遇到了同样的问题。在通知适配器我删除了该项目之前
(requireContext() as Activity).currentFocus?.clearFocus()
答案 2 :(得分:0)
这适合我。
convertView = mInflater.inflate(R.layout.row_stat_header,
parent, false);
此处,parent
是getView中的ViewGroup参数。
答案 3 :(得分:0)
解决了添加滚动侦听器的问题。
{{1}}