当前位置: 首页 > 面试题库 >

使用Kotlin从另一个人完成android活动

欧阳楚
2023-03-14
问题内容

我正在尝试使用Kotlin完成另一个(android)的活动。我知道用Java执行此操作的原因是以下代码

在第一个活动中:

BroadcastReceiver broadcast_reciever = new BroadcastReceiver() {

    @Override
    public void onReceive(Context arg0, Intent intent) {
        String action = intent.getAction();
        if (action.equals("finish_activity")) {
            finish();
            // DO WHATEVER YOU WANT.
        }
    }
};
registerReceiver(broadcast_reciever, new IntentFilter("finish_activity"));

关于其他活动:

Intent intent = new Intent("finish_activity");
sendBroadcast(intent);

由于某种原因,将java活动转换为kotlin不会给出有效的输出,如果有人可以给我正确的语法来正确地使用 kotlin进行处理, 我将不胜感激

kotlin输出(第一个活动) [确定]

val broadcast_reciever = object : BroadcastReceiver() {

    override fun onReceive(arg0: Context, intent: Intent) {
        val action = intent.action
        if (action == "finish_activity") {
            finish()
            // DO WHATEVER YOU WANT.
        }
    }
}
registerReceiver(broadcast_reciever, IntentFilter("finish_activity"))

kotlin输出(第二活动) [确定]

            val intent = Intent("finish_activity")
            sendBroadcast(intent)

错误:http://i.imgur.com/qaQ2YHv.png

FIX:该代码显示是正确的,您只需要将其放置在onCreate函数中


问题答案:

出现错误Expecting member declaration是因为您在类中编写了一条语句(函数调用)。在此范围内,需要声明(函数,内部类)。

您必须将语句放置在函数中(然后从某个位置调用这些语句)才能执行它们。



 类似资料:
  • 我正在写一个Android应用程序,有Java和静态编程语言活动。我希望从静态编程语言移动到Java,已经完成了,现在我希望回到静态编程语言活动,我找不到具体的代码。 我的应用程序名称是starter,Kotlin活动是MainActivity。kt和java类是face_detect。JAVA我已经试过:` ` 我希望单击face_detect上的按钮。java,这将把我带到MainActivi

  • 我有两个 列表 详细 列表显示项目列表,单击列表中的项目时显示详细信息。在中,我们观察从数据库获取提要的情况,一旦我们这样做了,我们就更新了用户界面。 列表页 现在我们有了一个页面,该页面更新了提要(项目),并且已经完成,但是更改没有反映在中。 详细信息页面 提要视图模型 为了简单起见,已经抽象了一些代码。如果需要,我可以添加它们来跟踪问题

  • 问题内容: 如何使用Intent类的方法将自定义类型的对象从一个传递到另一个? 问题答案: 如果您只是传递对象,那么Parcelable就是为此而设计的。与使用Java的本机序列化相比,使用它需要付出更多的努力,但是它的速度更快(我的意思是,WAY更快)。 在文档中,有关如何实现的一个简单示例是: 请注意,如果要从给定的宗地中检索多个字段,则必须按照将其放入的相同顺序(即,采用FIFO方法)进行操

  • 我有两个活动,一个使用导航图,另一个不使用。如何从不使用导航控制器的活动导航到导航图中的片段? 我试图从ImportMonsterActivity(在将新实体添加到db之后)导航到MainActivity导航图中的EditMonsterFragment。 我想我应该能够创建一个正常的意图,并给它一些额外的东西来指定导航图中的位置,但是我没有找到这种导航的任何留档。一切要么使用另一个应用程序的深层链

  • 我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?