2017-07-01 79 views
2

我試圖在每次按下按鈕時更改我的Android應用程序上的文本視圖
問題在於'if'操作未應用,就好像它總是返回false
這是爲什麼?在Kotlin中比較textView與字符串

override fun onCreate(savedInstanceState: Bundle?) { 
    super.onCreate(savedInstanceState) 
    setContentView(R.layout.activity_main) 
    val lol: String = "Hello World!" 
    button.setOnClickListener{ 
     if (textview.equals(lol)){ 
    textview.setText("yeah")} 
     else 
    textview.setText("Hello World!") 
}}} 

回答

6

科特林使用==爲字符串比較

https://kotlinlang.org/docs/reference/equality.html

結構平等由==操作檢查(及其否定 對應!=)。

而且,你想一個String比作TextView,它們是兩個不同類型的,所以他們永遠不會是相同的。嘗試:

if(textview.text == lol) {...

最後,作爲一個忠告,不要在代碼中使用的變量名像lol你打算曾經有調試。使用一個小的變量名可能會很快且容易,但如果它不具有描述性,那麼稍後嘗試調試它時會很糟糕,請從我個人的體驗中獲取它;)

+0

error:Operator'= ='不能應用於'TextView!'和'String' –

+2

哦,你正在比較一個字符串到textview,這就是爲什麼,看到更新的答案 – Parker