android - 如何删除线性布局的视图

时间:2012-01-05 10:17:50

标签: android android-linearlayout

在我的应用程序中,我将视图动态添加到线性布局中。每个视图由一个按钮组成,如果单击该按钮,则视图将被删除。如何刷新线性布局?因为当我删除任何视图时,视图的位置将被更改。

8 个答案:

答案 0 :(得分:15)

删除任何可以使用的视图

ll.removeView(view)// to remove particular view
ll.removeViewAt(position);// to remove view from particular position

使用以下逻辑从布局中删除任何视图

ll.post(new Runnable() {
    public void run() {
        ll.removeView(view);
    }
});

答案 1 :(得分:5)

你的问题不是那么清楚。但您可以尝试将视图设置为visibility = gone。

答案 2 :(得分:2)

通过删除或添加视图,linearlayout必须再次测量和布局其所有子项,这就是移动的原因。您可以尝试将可见性设置为不可见。

myLinearLayout.setVisibility(View.INVISIBLE);

任何设置为隐藏的视图仍会保留其大小和布局中的位置,但无法再看到。

答案 3 :(得分:1)

如何刷新线性布局?

linearLayoutObject.invalidate()

如何从线性布局中删除项目?

linearLayoutObject.removeView(View view);

linearLayoutObject.removeViewAt(int index);

我希望它有所帮助..

答案 4 :(得分:0)

你试过吗

setContentView(R.layout.main);

删除后?

答案 5 :(得分:0)

使用带有适配器的listview来动态填充数据(因为这就是它们的用途)以及每当您的数据或UI被更改时,创建新的适配器(数据集)并通知适配器有关更改。

答案 6 :(得分:0)

只需使用linearLayout.removeView(View view); 它会自动刷新。

答案 7 :(得分:0)

layout.removeAllViewsInLayout(); layout.invalidate();

我希望这个帮助