在以编程方式从LinearLayout中删除TextViews时出现问题

时间:2011-05-09 08:56:23

标签: android refresh textview android-linearlayout

我正在以编程方式将TextView添加到LinearLayout,并在触摸时删除它们。一切正常,除非触摸最后一个TextView,它不会被删除。如果我在屏幕上做任何其他事情,比如摆脱键盘或向下滚动,最后的TextView将被删除,这让我觉得这是一个刷新问题,但我不知道如何解决这个问题。

以下是我正在使用的一些代码:

final TextView tv1 = new TextView(this);
tv1.setText("Test");

tv1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        linearlayout1.removeView(tv1);

    }
});

我还添加了此代码以尝试解决问题,但它没有改变任何内容:

if (linearlayout1.getChildCount() == 1) {
    linearlayout1.removeAllViewsInLayout();
}

1 个答案:

答案 0 :(得分:13)

这听起来更像Android中的一个错误,但您可以尝试的一件事就是在删除之前隐藏TextView

tv1.setVisibility(View.GONE)

或者您也可以添加:

linearlayout1.invalidate()
删除最后一项后触发重绘。