Android动态删除按钮

时间:2012-06-23 12:05:26

标签: android android-layout

我有一个按钮,当我按下它时,我想要删除它(不要让它看不见)。我读到我可以使用layout.removeView(mybutton)来做到这一点,但布局是什么?以及如何在我的活动中获得它

Button showQuestion;
private void initialize() {
    showQuestion = (Button) findViewById(R.id.bAnswerQuestionShowQuestion);
}
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.bAnswerQuestionShowQuestion:
                showQuestion.setVisibility(View.INVISIBLE);
                //Here i want to delete the button
                question.setVisibility(View.VISIBLE);
                theAnswer.setVisibility(View.VISIBLE);
                answerQuestion.setVisibility(View.VISIBLE);
                showChoices.setVisibility(View.VISIBLE);
                showHint.setVisibility(View.VISIBLE);
            break;
    }
}

4 个答案:

答案 0 :(得分:16)

请参阅link

ViewGroup layout = (ViewGroup) button.getParent();
if(null!=layout) //for safety only  as you are doing onClick
  layout.removeView(button);

答案 1 :(得分:12)

  

我有一个按钮,当我按下它时,我想删除它(不是它   不可见的)

=>你做了如下:

 showQuestion.setVisibility(View.INVISIBLE);

尝试:

 showQuestion.setVisibility(View.GONE);

仅供参考,不可见只是隐藏视图但实际存在于那里,GONE也隐藏了物理存在。

答案 2 :(得分:4)

您可以使用

      button.setVisibility(View.GONE);

答案 3 :(得分:1)

布局是Button的父布局,通常是RelativeLayout或LinearLayout。

您可以按照以下方式获取:

ViewParent layout = button.getParent();