4 回答

TA貢獻2012條經驗 獲得超12個贊
player
是一個int
,所以在這種情況下你不需要一個toString
方法:
String text = "Player " + player + " wins!";
另外,刪除該public String toString()
方法,因為您可能對默認Activity.toString()
方法有問題....

TA貢獻1859條經驗 獲得超6個贊
你使用它的toString()
方式,你的活動類的方法被調用,
這就是你看到的原因com.ellis.newdice.MainActivity$1
。
你不需要toString()
達到你想要的。
用這個:
String text = "Player " + winner + " wins!";
winner
使用您在代碼中為獲勝玩家使用的變量(整數?)進行更改。

TA貢獻1850條經驗 獲得超11個贊
看起來你調用它的對象實際上不是你的MainActivity
,而是它內部的一些匿名內部類,可能是一些聽眾。您可能必須將調用替換MainActivity.this.toString()
為明確toString()
要調用的內容。
更一般地說toString()
,它不是一種通常被顯式調用的方法。當您讓其他代碼為您調用它時,它非常有用。例如String s = "foo " + something
將隱式調用toString()
(something
假設它是一個對象而不是一個String
)。

TA貢獻1831條經驗 獲得超4個贊
嘗試以下操作:
String text = "Player " + String.valueOf(player) + " wins";
toString 方法是不必要的。String.valueOf(int number) 將獲取您的整數值(獲勝的玩家)并將其轉換為可以顯示在 Toast 中的字符串。
添加回答
舉報