PhotoViewer
PhotoViewer copied to clipboard
如果XML中ImageView并不是在第一层第一个所导致的崩溃问题
PhotoViewer的findImageView函数 private fun findImageView(group: ViewGroup): ImageView? { for (i in 0 until group.childCount) { return when { group.getChildAt(i) is ImageView -> group.getChildAt(i) as ImageView group.getChildAt(i) is ViewGroup -> findImageView(group.getChildAt(i) as ViewGroup) else -> throw RuntimeException("未找到ImageView") } } return null }
只会判断第一个view,for循环是没用的
这是修复后可用的函数 private fun findImageView(group: ViewGroup): ImageView? { for (i in 0 until group.childCount) { val child = group.getChildAt(i) if (child is ImageView) { return child } else if (child is ViewGroup) { val result = findImageView(child) if (result != null) { return result } } } throw RuntimeException("未找到ImageView") }