2012-06-23 176 views
6

我有一个按钮,当我按下它时,我想删除它(不会使它不可见)。我读到,我可以使用layout.removeView(mybutton)来做到这一点,但是布局是什么?我怎样才能得到它在我的活动Android动态删除按钮

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; 
    } 
} 
+1

布局是视图父母你按钮。 – 2012-06-23 12:07:09

回答

16

看到link

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

网站android开发者禁止我的国家 – Totti

+0

函数showQuestion.getParent()。revmoveView不存在 – Totti

+0

类型在ViewGroup中将其强制转换为代码........ –

1

布局是你的按钮,通常是一个RelativeLayout的或LinearLayout中的父布局。

如下你可以得到它:

ViewParent layout = button.getParent(); 
+0

感谢您的帮助 – Totti

3

您可以使用

 button.setVisibility(View.GONE); 
+0

感谢您的帮助 – Totti

10

我有一个按钮,当我按下它,我想删除它(不让它 隐形)

=>您的操作如下:

showQuestion.setVisibility(View.INVISIBLE); 

尝试使用:

showQuestion.setVisibility(View.GONE); 

FYI,隐形只是隐藏视图,但物理上存在有和GONE隐藏以及除去存在物理上为好。

+1

感谢您的帮助,它的工作原理 – Totti