首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >setOnClickListener未解析引用

setOnClickListener未解析引用
EN

Stack Overflow用户
提问于 2022-02-01 12:34:58
回答 1查看 651关注 0票数 1

我现在想要的只是在我的主要活动中有一系列的按钮,这会让我进入其他的意图,在那里我可以测试一些其他的东西并继续学习。

我真的不喜欢把警告抛在脑后,所以当android:onClick抛出Old versions of the platform do not properly support resolving android:onClick时,我读了很多书,发现我应该使用setOnClickListener。我看到了很多关于setOnClickListener的答案,我找到了很多解决方案,但我花了很长时间才做到这一点:

代码语言:javascript
运行
复制
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。我在谷歌上搜索了很多,最后通过添加以下内容解决了这个问题:

代码语言:javascript
运行
复制
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是一个奇迹--就像这是一件显而易见的事情一样。这对我来说显然不是很明显。我如何知道在未来,我应该导入什么,以使用其他功能?也许我应该从阅读一些文档开始--如果是这样的话,比任何人都能给我发一个链接到我应该从哪里开始的快乐?我试着自己教所有的东西,但我从零开始,现在我真的觉得我错过了一些非常重要的东西。

EN

Stack Overflow用户

回答已采纳

发布于 2022-02-01 12:41:12

是我使用setOnClickListener的方式甚至是正确的,或者有比为每个可点击元素实现val更好的方法吗?

代码语言:javascript
运行
复制
findViewById<Button>(R.id.introduction).setOnClickListener {

}

应该也能工作,好像以后不需要对按钮的实际引用一样。

我想用当(kotlin版本的开关),以确定什么是点击.这有可能吗,还是我想的太简单了?

有办法做到这一点,但它真的不需要,它变成了一个庞大的when声明,这可能是很难管理的,坚持你在这里做的事情。

--我以后怎么知道,为了使用其他函数,我应该导入什么?

经验,实践,阅读文档,并让IDE帮助您。根据操作系统的不同,android可以为您提供导入所需依赖项的选项,通常可以将光标悬停在未解决的引用(通常为红色)上,以查看android是否为您提供了导入的选项。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70940673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档