Android: por que setVisibility (View.GONE); ou setVisibility (View.INVISIBLE); não funcion

Eu quero o meuDatePicker e o botão para ficar invisível no início. E quando pressiono meu botão mágico, quero definirVisibility (View.Visible);

O problema aqui é quando eusetVisibility(View.GONE) ousetVisibility(View.INVISIBLE) nada muda e o componente ainda está visíve

final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);

dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);

btn2.setOnClickListener(new View.OnClickListener() {
    public void onClick(View arg0) {
        TextView txt2 = (TextView) findViewById(R.id.txt2);
        txt2.setText("You selected " + dp2.getDayOfMonth()
            + "/" + (dp2.getMonth() + 1) + "/" + dp2.getYear());
    }
});

questionAnswers(7)

yourAnswerToTheQuestion