Android ActivityResult API 未解决的引用错误 registerForActivityResult
Posted
技术标签:
【中文标题】Android ActivityResult API 未解决的引用错误 registerForActivityResult【英文标题】:Android ActivityResult API unresolved reference error registerForActivityResult 【发布时间】:2020-11-13 22:10:30 【问题描述】:我正在尝试使用此处所述的 ActivityResult API ActivityResult APIs
但它给出了未解决的参考错误。
我正在使用以下依赖项
api 'androidx.activity:activity:1.1.0'
api 'androidx.activity:activity-ktx:1.1.0'
api 'androidx.fragment:fragment:1.2.5'
api 'androidx.fragment:fragment-ktx:1.2.5'
【问题讨论】:
查看链接页面上列出的依赖项。它没有明确说明,我还没有检查过,但这些可能是必要的最低版本。 是的,我也尝试使用那些提到的版本,但同样的错误,然后我想使用稳定版本。 是的,我也有同样的行为。奇怪的。但是,我的 IDE 告诉我最新版本是alpha07
,并且在升级到这些版本时它可以按预期工作。即"androidx.activity:activity:1.2.0-alpha07"
和"androidx.fragment:fragment:1.3.0-alpha07"
。
【参考方案1】:
根据Getting a result from an activity guide:
强烈建议使用 AndroidX Activity 1.2.0-alpha02 和 Fragment 1.3.0-alpha02 中引入的 Activity Result API。
因此,使用稳定版本将不包含这些 API。每个的最新版本是 alpha07,这意味着您的依赖项将是:
api 'androidx.activity:activity-ktx:1.2.0-alpha07'
api 'androidx.fragment:fragment-ktx:1.3.0-alpha07'
注意:您的活动必须从 ComponentActivity
扩展而来,AppCompat 1.1.0 中引入并包括 registerForActivityResult()
API
【讨论】:
我有同样的问题,但没有帮助。 IDE 显示 "Unresolved reference: registerForActivityResult" ,但它可以构建得很好......怎么可能? 同样无法让 Android Studio 自动完成registerForActivityResult
。上面写着“未解析的引用:registerForActivityResult”,所以我根本无法使用这个 api 进行编码。【参考方案2】:
试试这个新版本来了。
implementation 'androidx.activity:activity-ktx:1.3.1'
【讨论】:
我的 build.gradle 上有这个,但我也收到之前指定的错误。 @cyber_angel 好的,但是请检查项目 build.gradle 的依赖项,其中 gradle 需要最新版本才能正常工作。 请检查你的 kotlin 版本 gradle。以上是关于Android ActivityResult API 未解决的引用错误 registerForActivityResult的主要内容,如果未能解决你的问题,请参考以下文章
Jetpack:使用 ActivityResult 处理 Activity 之间的数据通信
使用 Jetpack ActivityResult 处理 Activity 之间的数据通信
如何在新的 ActivityResult API (1.3.0-alpha05) 中获取权限请求?