gpt4 book ai didi

android - 指定为非null的参数为null:参数投影Content Provider Kotlin

转载 作者:行者123 更新时间:2023-12-02 13:05:36 24 4
gpt4 key购买 nike

我正在尝试从Kotlin文件查询内容提供者。请参见下面的代码:

var URI = Uri.parse("content://myprovider")
var nameUri = Uri.withAppendedPath(URI, "name")
cursor = contentResolver.query(nameUri, null, null, null, null)

当我运行此代码时,我得到以下错误
Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter projection
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)
at android.content.ContentResolver.query(ContentResolver.java:802)

现在,当我检查ContentResolver类中的查询方法签名时,它就是
public final @Nullable Cursor query(@RequiresPermission.Read @NonNull Uri uri,
@Nullable String[] projection, @Nullable String selection,
@Nullable String[] selectionArgs, @Nullable String sortOrder)

如您所见,除Uri之外的所有内容都可以为Nullable,因此从技术上讲,它不应引发此错误。

另外,我尝试给出投影,但随后为selectionArgs抛出了错误。

请帮忙。提前致谢。

注意: contentResolver not nameUri都不为null

最佳答案

你可以试试这个吗

override fun query(uri: Uri, projection: Array<String>?, selection: String?,
selectionArgs: Array<String>?, sortOrder: String?): Cursor? {

//ur code

return cursor
}

refer to this link

关于android - 指定为非null的参数为null:参数投影Content Provider Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56967265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com