作者:gjagtm2502855737 | 来源:互联网 | 2023-01-30 17:57
我每次按下按钮时都试图更改我的Android应用程序上的文本视图
问题是"if"动作没有应用,好像它总是返回false
为什么会这样?
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!")
}}}
Parker..
6
Kotlin ==
用于字符串比较
https://kotlinlang.org/docs/reference/equality.html
结构相等性由==
操作(及其否定的对应物!=
)检查.
此外,你试图比较a String
和a TextView
,它们是两种不同的类型,所以它们永远不会是相同的.尝试:
if( textview.text == lol) {...
最后,作为建议,请不要使用lol
您想要调试的代码中的变量名称.使用一个小变量名称可能会快速而容易,但如果它不具有描述性,那么您将在以后尝试调试它时遇到困难,从我的个人经验中获取它;)
1> Parker..:
Kotlin ==
用于字符串比较
https://kotlinlang.org/docs/reference/equality.html
结构相等性由==
操作(及其否定的对应物!=
)检查.
此外,你试图比较a String
和a TextView
,它们是两种不同的类型,所以它们永远不会是相同的.尝试:
if( textview.text == lol) {...
最后,作为建议,请不要使用lol
您想要调试的代码中的变量名称.使用一个小变量名称可能会快速而容易,但如果它不具有描述性,那么您将在以后尝试调试它时遇到困难,从我的个人经验中获取它;)
哦,你正在将字符串与textview进行比较,这就是原因,请参阅更新的答案