Having a problem removing TextViews from a LinearLayout programmatically
I am programmatically adding TextViews to a LinearLayout, and deleting them on touch. It all works fine except when the last TextView is touched it doesn't get removed. If I do anything else on the screen like get rid of the keyboard or scroll down at all, the last TextView will be deleted, which makes me think it's a refresh problem, but I have no idea how to solve that.
Here's some of the code I'm using:
final TextView tv1 = new开发者_Go百科 TextView(this);
tv1.setText("Test");
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearlayout1.removeView(tv1);
}
});
I have also added this code in to try to solve the problem but it didn't change anything:
if (linearlayout1.getChildCount() == 1) {
linearlayout1.removeAllViewsInLayout();
}
This sounds more of a bug in Android, but one thing you could try is hiding your TextView
before removal:
tv1.setVisibility(View.GONE)
Or alternatively you could add:
linearlayout1.invalidate()
after removal of the last item to trigger redrawing.
精彩评论