我有水平方向的线性布局,里面有很少的ImageViews(在xml中硬编码)。我必须根据MultiselectListPreference对它们进行排序(首先检查所有,然后取消选中)。为了把检查的那些放在一开始我试过
((LinearLayout)imageView.getParent()).removeView(imageView);
((LinearLayout)imageView.getParent()).addView(imageView,0);
并且未经检查就没有做任何事情。但它给了我"指定的孩子已经存在。您必须在查看的父级"上调用removeView(view)。虽然我已经打电话了。这可能是因为所有这些ImageView都存在于xml中。如何获得所需的子ImageView排列。如果在所有的LinearLayout都不够,我应该在这里使用RecyclerView,它会更重吗?
答案 0 :(得分:-1)
将父视图投射到 ViewGroup ,以便 removeView 方法有效。
((ViewGroup)imageView.getParent()).removeView(imageView);