如果要在Android中启动新的Activity,则需要将Activity传递给Intent。但是,不只是像这样传递Kotlin类:
val intent: Intent = Intent(this, SearchActivity::class)
我需要像这样将Kotlin类作为Java类传递:
val intent: Intent = Intent(this, SearchActivity::class.java)
由于我SearchActivity
是.kt文件,为什么需要添加此额外的标识符?
Intent
您正在使用的构造函数的第二个参数采用一个java.lang.Class
对象。SearchActivity::class
返回kotlin.reflect.KClass
。您可以java.lang.Class
通过访问其java
属性从中获得一个。因此,您会看到的语法有些奇怪SearchActivity::class.java
。
我想在Android上启动另一个活动,但出现以下错误: 请指定构造函数调用;分类器Page2没有伴随对象 实例化类后。我应该怎么做来纠正错误?我的代码:
问题内容: 在Java或Android中,有@Override注释。这是什么意思?我发现它是在方法来自子类或继承接口的方法时使用的,我想进一步了解,其他是@SuppressWarnings及其Anonation,如果是的话,java使用了多少注释以及用于什么目的。 问题答案: 这个问题在这里也很简洁地得到了回答: Android@Override用法 这是一个注释,可以用来告诉编译器和IDE,您打
问题内容: 想象一下以下课程: 我想重新启动线程以防万一。这不起作用。因为线程只能启动一次。第一个问题。为什么是这样? 据我所知,我必须重新创建的每个实例并调用以再次启动线程。如果是s,这不是很实际。我必须读取旧值的当前值,创建一个新值,并使用旧值在新对象中设置参数。第二个问题:这可以用更聪明,更轻松的方式完成吗? 问题答案: 之所以以这种方式实现threading.Thread,是为了保持线程对
当我尝试用Google Maps活动模板打开一个新项目时,我会遇到以下错误。 错误:(3)检索项的父项时出错:找不到与给定名称“Android:TextApparance.Material.Widget.Button.Inverse”匹配的资源。 我对此完全陌生,我试着看过类似的帖子,但我无法理解那里给出的解释。 这些错误出现在名为google_maps_api.xml的文件中
我目前正在开发一个android应用程序,在那里我需要设置持久的警报,它将在特定的日期和时间触发并显示一个通知。它工作良好,但系统清除所有警报重新启动。 从其他问题中,我知道如果我为创建一个,我可以重新启动已取消的警报。我的问题是:关于那些警报,我需要保留哪些信息,以便在需要时重新武装它们? 有些人说,我需要持久化所有附加项和fire日期时间,以便在重新引导时重新创建。 其他人说,如果我只保留的,
我已经更改了我想首先运行的活动从主活动到另一个。我通过编辑Android清单并移动这段代码做到了这一点: 我的清单现在是这样的: 当我运行它在我的手机和平板电脑(从android工作室)我得到下面的错误和应用程序不启动自动像以前一样。但是当我点击图标时,它通常首先以正确的活动开始。 但是当我使用模拟器时,正确的活动只在第一次安装时启动,而之前设置的活动则会启动。 我不知道为什么会这样。我完全没有安