Tener un problema al eliminar TextViews de un LinearLayout mediante programación

Estoy agregando TextViews mediante programación a LinearLayout y eliminándolos al tacto. Todo funciona bien, excepto cuando se toca el último TextView, no se elimina. Si hago algo más en la pantalla, como deshacerme del teclado o desplazarme hacia abajo, se borrará el último TextView, lo que me hace pensar que es un problema de actualización, pero no tengo idea de cómo resolverlo.

Aquí hay algunos de los códigos que estoy usando:

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

tv1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        linearlayout1.removeView(tv1);

    }
});

También agregué este código para tratar de resolver el problema, pero no cambió nada:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta