我正在以编程方式将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();
}
答案 0 :(得分:13)
这听起来更像Android中的一个错误,但您可以尝试的一件事就是在删除之前隐藏TextView
:
tv1.setVisibility(View.GONE)
或者您也可以添加:
linearlayout1.invalidate()
删除最后一项后触发重绘。