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 中的字符串。
添加回答
舉報
