2012-06-23 174 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