2016-09-28 53 views
1

我想刪除一個按鈕時,該按鈕本身被竊聽,我想以下幾點:的Android無法刪除按鈕

View.OnClickListener getOnClickDoSomething(final Button button) { 
    return new View.OnClickListener() { 
     public void onClick(View v) { 
      tagsView.removeView(button); 
     } 
    }; 
} 

此代碼的工作,但是當我添加以下代碼行:

editText.setText(button.getText()); 

代碼停止工作,按鈕不會被刪除。我添加它像這樣:

View.OnClickListener getOnClickDoSomething(final Button button) { 
    return new View.OnClickListener() { 
     public void onClick(View v) { 
      editText.setText(button.getText()); 
      tagsView.removeView(button); 
     } 
    }; 
} 

這裏有什麼問題?

回答

1

只是設置按鈕知名度假

2

使用這個在您的OnClick方法

button.setVisibility(view.GONE);

您的代碼看起來像這樣

View.OnClickListener getOnClickDoSomething(final Button button) { 
return new View.OnClickListener() { 
    public void onClick(View v) { 
     editText.setText(button.getText()); 
     button.setVisibility(view.GONE); 
     } 
    }; 
} 

或者試試這個

Button mybtn = (Button)findViewById(R.id.mybtn_id); 
    mybtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

     mybtn.setVisibility(view.GONE); // or (view.INVISIBLE) 

     } 
    }); 
+0

我試過了,它不起作用 –

+0

發佈您的錯誤logcat – deejay

+0

沒有錯誤...只是沒有發生 –

2

根據你想達到什麼,提議的東西將工作得很好。如果想要隱藏按鈕,請撥打button.setVisibility(View.INVISIBLE)。但是,如果您試圖從視圖層次結構中完全消除它,請致電button.setVisibility(View.GONE)

+0

我試過了,它不起作用 –

+0

@chris d奇怪。請澄清你的意圖是什麼或發佈一個最小的工作示例。我從來沒有見過這種OnClickListener的設置。你確定你連線正確嗎?爲什麼要將可編輯字段的文本設置爲按鈕的文本? 並且(可能不會導致這個問題的解決方案)如果我不包含像這樣的字符串,那麼我遇到了setText()的問題:「任何字符串」,所以我的解決方法是setText(「」+ someVariable)。 – bjrne

0

很明顯button.setVisibility(View.GONE)想到但如果它不起作用,你應該看上面的一個級別的錯誤來源。也許你不會將你創建的OnClickListener設置爲按鈕,因此沒有任何反應?