我现在想要的只是在我的主要活动中有一系列的按钮,这会让我进入其他的意图,在那里我可以测试一些其他的东西并继续学习。
我真的不喜欢把警告抛在脑后,所以当android:onClick抛出Old versions of the platform do not properly support resolving android:onClick时,我读了很多书,发现我应该使用setOnClickListener。我看到了很多关于setOnClickListener的答案,我找到了很多解决方案,但我花了很长时间才做到这一点:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val introduction = findViewById<Button>(R.id.introduction)
val needXML = findViewById<Button>(R.id.needXML)
introduction.setOnClickListener {
Toast.makeText(this@MainActivity, "button 1 works!", Toast.LENGTH_SHORT).show()
}
needXML.setOnClickListener {
Toast.makeText(this@MainActivity, "button 2 works!", Toast.LENGTH_SHORT).show()
}
}
}我还是得到了Unresolved reference: Button。我在谷歌上搜索了很多,最后通过添加以下内容解决了这个问题:
import android.widget.Button找到import android.widget.Toast来发出简单的警报很容易,因为这一部分包含在许多教程中,但是import android.widget.Button --一点也不包括。
所以,故事到此结束,我的问题是:
1:我使用setOnClickListener的方式是正确的,还是有比为每个可点击元素实现val更好的方法?
我想用when (switch的kotlin版本)来确定点击了什么.这有可能吗,还是我想的太简单了?
他说:我读了很多关于setOnClickListener的教程/答案,并且看到了很多“做buttonId.setOnClickListener”的技巧。然而,我找到import android.widget.Button是一个奇迹--就像这是一件显而易见的事情一样。这对我来说显然不是很明显。我如何知道在未来,我应该导入什么,以使用其他功能?也许我应该从阅读一些文档开始--如果是这样的话,比任何人都能给我发一个链接到我应该从哪里开始的快乐?我试着自己教所有的东西,但我从零开始,现在我真的觉得我错过了一些非常重要的东西。
发布于 2022-02-01 12:41:12
是我使用setOnClickListener的方式甚至是正确的,或者有比为每个可点击元素实现val更好的方法吗?
findViewById<Button>(R.id.introduction).setOnClickListener {
}应该也能工作,好像以后不需要对按钮的实际引用一样。
我想用当(kotlin版本的开关),以确定什么是点击.这有可能吗,还是我想的太简单了?
有办法做到这一点,但它真的不需要,它变成了一个庞大的when声明,这可能是很难管理的,坚持你在这里做的事情。
--我以后怎么知道,为了使用其他函数,我应该导入什么?
经验,实践,阅读文档,并让IDE帮助您。根据操作系统的不同,android可以为您提供导入所需依赖项的选项,通常可以将光标悬停在未解决的引用(通常为红色)上,以查看android是否为您提供了导入的选项。
https://stackoverflow.com/questions/70940673
复制相似问题