首页 > 解决方案 > android中的kotlin:删除意图的对象值,因为它只使用一次

问题描述

在 kotlin 中编程时,经常会出现这样的代码,其中需要创建一个值(galleryIntent)。

        val galleryIntent = Intent(Intent.ACTION_PICK,
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
        startActivityForResult(galleryIntent, GALLERY)

没有这个值有没有办法工作,比如:

        Intent(Intent.ACTION_PICK,
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
        .xxxx{startActivityForResult( yyy , GALLERY)}

而 xxxx 是一个类似 'apply', 'let' ... 的函数,而 yyy 是对 Intent 的引用

在我看来,代码会更具可读性。

标签: androidkotlin

解决方案


很好地写出迈克尔·布彻的答案:

Intent(Intent.ACTION_PICK,
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
    .let{startActivityForResult( it , GALLERY)}

这对于其他想要做同样的事情的人来说;-)


推荐阅读