2011-12-03 69 views
0

我把一些OnClickListeners等待被點擊一個TextView,然後後來寫一個X.在代碼中,我創造新的OnClickListeners那些TextViews等待被壓他們,然後讓TextView的寫O.我可以在運行時更改Button或TextView的功能嗎?

但由於某種原因,它只能寫X.所以,我認爲不可能在運行時創建一個新的OnClickListeners並覆蓋舊的OnClickListeners。它是否正確?

回答

1

我的猜測是你正在嘗試創建一個tic tac toe app。

你並不需要創建一個新的OnClickListener寫「X」和「Ø」二選一。

您可以創建一個公共變量。讓我們說char。你煲X之前檢查它的值或O.

這樣

public char myChar; 

<<inside oncreate>> 
{ 
//bla bla bla 
char = "O" 
} 

<<inside onClick Method (View v)>> 
if (myChar=="O"){ 
    myChar = "X" 
} 
else{ 
    myChar = "O" 
} 

if (v==editText1){ 
    editText1.setText(myChar) 
} 

難道這就是你要找的人?或者你想要實際的Android代碼?

+0

同意。更改監聽器可能會導致很多問題(包括內存泄漏),保留同一個監聽器但使其具有動態性的做法更好。如果要更改按鈕的行爲,請根據不同的類成員參數更改其調用的基礎方法的行爲。 – Guillaume

相關問題