当我尝试这样做时:
import androidx.activity.result.contract.ActivityResultContracts
Android Studio抱怨“result”未定义。
我的build.gradle中有这样一行:
implementation 'androidx.appcompat:appcompat:1.2.0'
据我所知,这应该可以给予我访问ActivityResultContracts。我遗漏了什么?
当我尝试这样做时:
import androidx.activity.result.contract.ActivityResultContracts
Android Studio抱怨“result”未定义。
我的build.gradle中有这样一行:
implementation 'androidx.appcompat:appcompat:1.2.0'
据我所知,这应该可以给予我访问ActivityResultContracts。我遗漏了什么?
2条答案
按热度按时间5lhxktic1#
根据Getting a result from an activity documentation,“活动结果API”仅在“活动1.2.0”与“片段1.3.0”中引入。AppCompat 1.2.0仅传递性地依赖于“片段1.1.0”,而“片段1.1.0”又仅依赖于“活动1.0.0”。这意味着您没有足够新的“片段”与“活动”版本,无法访问“活动结果API”。
因此,您可以升级您的AppCompat版本(它 * 确实 * 依赖于更新版本的Fragment and Activity):
或者添加一个专门针对Fragment的附加依赖项(它会拉入Activity的正确版本):
eyh26e7m2#
原来我误解了给我的信息。build.gradle中的实现行需要改为这样。