问题标签 [android-ktx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
171 浏览

android - 找不到 `fun Cursor.getString(columnName: String): String` 实现

这些功能在哪里实现?

https://android.github.io/android-ktx/core-ktx/androidx.database/android.database.-cursor/index.html

我看到包 androidx.core.database 但找不到实现。只有这样的功能。

0 投票
2 回答
6019 浏览

android - Androidx Activity OnBackPressedCallback 接口问题

我也在看这个为什么他们有 2 个不同的 ComponentActivity 类? 我有这个库设置并希望使用OnBackPressedCallback

它适用于使用 Android Studio 进行调试构建,但每当我尝试执行时app:compileFullReleaseKotlin,我都会遇到以下问题

任何人或 Ian 都知道如何确保这包含在我的所有构建中

0 投票
1 回答
1302 浏览

android - 使用 Android 数据绑定时禁用 Kotlin 合成绑定

我正在学习有关 Android/Kotlin/KTX 的 Udacity 课程。“关于我”应用程序引入了数据绑定,而 Android 团队似乎建议不要使用 KTX 绑定。所以我想做前者而不是后者。

然而,事情并没有按预期进行。这些是我面临的奇怪问题:

  1. 在我第一次通过时,我无法让 Android Studio 识别我的任何R.id.viewNameID。打字R.id.会给我各种各样的选择,例如R.id.action_bar,但我的活动没有。在某些时候,这清楚了。
  2. lateinit var binding: ActivityMainBinding直到我构建这个东西(例如)之前,编辑器一直抱怨数据绑定类的未解析引用。实际上,我认为它需要不止一次构建,可能是由于我在其他地方乱搞的结果(见下文)。
  3. 每个视图 ID 仍然作为包含该 ID 的视图对象的全局变量生成。也就是说,如果我有一个带有 ID 的按钮,我可以通过导入它doneButton在代码中将它作为合成引用。doneButton我假设这意味着对象总是在运行时构建的,即使我不打算使用它们。如何让这些 KTX 风格的绑定消失?

这是我的构建等级:

这是我的模块gradle:

在网上搜索生成数据绑定类的方法时,我发现可能需要在以下行中包含以下gradle.properties

这样做后我进行了重建,瞧!这些课程终于建成了。所以我正准备向 Udacity 发送有关缺失位的反馈,当我决定最好确保我了解真正解决问题的方法时。所以在成功运行程序后,我删除了上面的gradle.properties行,清理并重建了项目。令我惊讶的是,它仍然可以构建并运行。

所以我不知道是什么解决了这个问题或者如何在下一个项目中解决这些问题。

我还想阻止所有全局 KTX 绑定类被实例化,但我仍然对如何做到这一点一无所知。

另一个 SO 答案声称为生成绑定类的问题提供了两种解决方案,但是给出的解决方案是针对 2016 年和 2017 年的,尽管没有实现这些解决方案,上述 gradle 文件目前正在工作(生成绑定类),所以显然有一个较新的方式。

谢谢你尽你所能的帮助!(哦,我还要提一下,我使用的是完全更新的 Android Studio 3.4 版。)

更新1:我正在取得一些进展。看来,Android Studio 3.4 代码编辑器是唯一无法识别生成的数据绑定类的东西。重建时会再次识别这些类,但清洁时会丢失识别。我还不确定这种理解能解决我所有的问题......

更新 2:这是(至少部分)一个 Android Studio 错误,已于 3 月修复,适用于 Canary 7。

0 投票
1 回答
226 浏览

android - 使用 ktx 处理程序扩展定期运行方法

更新:澄清,我正在寻找一个扩展,例如每 1000 毫秒运行一次函数,而无需使用handler.postDelayed两次。

我最近开始使用 android-ktx Kotlin 扩展。而且我遇到了非常巧妙地转换的处理程序扩展

进入

我遇到的问题是如何转换以下代码以使用 ktx 扩展。甚至可能吗?

0 投票
2 回答
2242 浏览

android - 未解决的参考:viewModelScope - Android KTX

我正在尝试使用viewModelScope()新的 android ktx 库提供的新功能。

在 gradle 文件中,我添加了:

但是当我绑定访问时viewModelScope(),我得到了Unresolved reference: viewModelScope错误:

我不明白问题是什么。任何想法?谢谢。

0 投票
1 回答
96 浏览

android - 新的在 android.arch.navigation:navigation-ui-ktx 中找不到标签

我看到 Android Jetpack Navigation 组件现在支持对话框片段。当我使用最新版本的依赖项 androidx.navigation:navigation-ui 时,它可以完美运行。但是,当我使用最新版本(1.0.0)的依赖项 android.arch.navigation:navigation-ui-ktx 时,找不到对话框标记,与其他依赖项相比,它似乎已经过时。有人可以解释为什么并解释哪种依赖对我们更好吗?

根据谷歌的说法,如果您使用的是 Kotlin,最好使用 -ktx ,但我发现它与另一种相比缺少很多功能。

0 投票
2 回答
1764 浏览

android - 带有 KTX 的 Android 动画

我的 Android 应用中有一些动画,我想更改我的代码以利用 Android KTX。可悲的是,我不太了解有关它的文档。有人可以告诉我如何在 Android KTX 的帮助下改进此代码吗?

当然,我已经在我的 Gradle 文件中添加了依赖项:

非常感谢你:)

0 投票
2 回答
386 浏览

android - Android Context的扩展功能在哪里?

作为 android 开发人员,我们使用ContextCompat.getColor(context, colorRes)ContextCompat.getDrawable(context, drawableRes).

为了简单起见,我们这样创建了扩展函数Context

inline fun Context.getCompatColor(@ColorRes colorRes: Int): Color = ContextCompat.getColor(this, colorRes)

这非常有用,所以我想知道这是否目前在Android KTX图书馆中。我一直在寻找它,但我找不到它。它在那里吗?如果不是,为什么不在那里?

0 投票
1 回答
318 浏览

android - 如何使用 gradle ktx 为 android robolectric 测试设置 -noverify 选项?

我正在使用 Roboelectric 对一个 android 应用程序进行单元测试,并在尝试写入时遇到错误SecureStorage-java.lang.VerifyError: Expecting a stackmap frame at branch target 10

我不需要为单元测试启用验证,所以想禁用它,但是使用 gradle ktx 并且不知道为单元测试任务设置 jvm 标志的正确方法。

我尝试过但不起作用的事情:

0 投票
1 回答
1044 浏览

android - 数据绑定:无法调用观察者方法/Resources$NotFoundException

我正在开发一个非常简单的示例应用程序,它使用 ViewModel、协程和数据绑定。

这里使用了非常简单的类:

不幸的是,这个非常简单的应用程序因以下堆栈跟踪而崩溃:

MainFragmentBindingImpl.java该类的第 168 行如下:

所以,问题是Transformations.map(...). 如果我删除txt2属性的绑定,一切正常。

我怎样才能避免这个错误?

谢谢您的帮助。