如何以编程方式对LinearLayout的子进行排序

时间:2016-01-15 20:28:18

标签: android android-linearlayout

我有水平方向的线性布局,里面有很少的ImageViews(在xml中硬编码)。我必须根据MultiselectListPreference对它们进行排序(首先检查所有,然后取消选中)。为了把检查的那些放在一开始我试过

((LinearLayout)imageView.getParent()).removeView(imageView);
((LinearLayout)imageView.getParent()).addView(imageView,0);

并且未经检查就没有做任何事情。但它给了我"指定的孩子已经存在。您必须在查看的父级"上调用removeView(view)。虽然我已经打电话了。这可能是因为所有这些ImageView都存在于xml中。如何获得所需的子ImageView排列。如果在所有的LinearLayout都不够,我应该在这里使用RecyclerView,它会更重吗?

1 个答案:

答案 0 :(得分:-1)

将父视图投射到 ViewGroup ,以便 removeView 方法有效。

((ViewGroup)imageView.getParent()).removeView(imageView);