20得票4回答
如何在使用导航组件时设置对话框的目标片段

我正在使用childFragmentManager在Fragment中显示对话框,或者在Activity中使用supportFragmentManager。我想设置目标Fragment,如下所示:val textSearchDialog = TextSearchDialogFragment.n...

10得票2回答
在Kotlin中,在列表的开头添加一个元素的最佳方法是什么?

如果我有这样一个列表: var foo = mutableListOf("John", "Wayne") 如果我想在列表顶部添加一个元素,目前我考虑了两个选项。 第一种:foo.add(0, "Twyla") 第二种:foo = (mutableListOf("Twyla") + ...

12得票1回答
IntentService 的默认构造函数 (Kotlin)

我刚接触Kotlin,对IntentService不是很熟悉。清单文件显示我的服务没有默认构造函数,但在服务内部看起来没问题也没有错误。 这是我的IntentService:class MyService : IntentService { constructor(name:Str...

13得票4回答
在使用rxbinding时,我是否应该取消订阅?

这是我如何在Kotlin中使用RxBinding:override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) ...

35得票2回答
Kotlin中的数组toList和asList有何不同?

Kotlin的Array类提供asList()、toList()和toMutableList()方法。前两种方法都返回一个List,并在Kotlin参考文档中描述如下: asList()返回包含原始Array的List。 toList()返回包含所有元素[原始Array]的List。 ...

183得票8回答
使用Gradle构建的Kotlin版本(1.1.2-5)与IDE插件捆绑的版本(1.1.2-4)不同。

有人解决了这个问题吗? 引用: 使用Gradle构建所使用的 Kotlin 版本(1.1.2-5)与 IDE 插件捆绑的版本(1.1.2-4)不同。 我正在使用AS 3.0 Canary 4。

17得票2回答
了解 PagingSource 的 getRefreshKey

我从Paging 2迁移到了Paging 3库,现在我使用PagingSource从服务器加载数据页。但是我不理解必须重载的getRefreshKey方法。我找到了一些代码示例,根据用于获取后续页面的键来实现它,但我仍然不明白。基于这些示例,我编写了以下代码:override fun getR...

14得票1回答
封闭lambda的隐式参数被遮蔽了。

val listPlans: List<Plan> = newPlans.mapTry { it.data.map { Plan(it.id, it.name, it.phone, it.desc, it.email) ...

58得票2回答
Kotlin协程的内部工作原理是什么?

Kotlin如何在内部实现协程? 协程被称为线程的“轻量级”版本,我理解它们在内部使用线程来执行协程。 当我使用任何构建器函数启动协程时会发生什么? 以下是我对运行此代码的理解:GlobalScope.launch { <---- (A) val y = loadDa...

9得票5回答
Kotlin中向映射列表添加项的惯用方法

我有一个MutableMap<String, MutableList<String>,我正在向其中添加项目,基本上是将同一键关联到多个值的集合。 每当我想要添加新值时,我需要首先检查是否已经存在与同一键关联的列表,如果不存在则初始化一个,并将值添加到列表中。 我可以通过以...