加载程序函数在返回 Uri 值时显示错误

Loader function showing error while returning Uri value

加载器函数

@Override
public android.support.v4.content.Loader<Uri> onCreateLoader(int id, Bundle args) {

    DbLoader abc=new DbLoader(this,uri,values);

    return abc;
}

DbLoader 函数

public class DbLoader extends AsyncTaskLoader<Uri> {
Context context;
Uri uri;
ContentValues values;
public DbLoader(Context context, Uri uri, ContentValues values) {
    super(context);
    this.context=context;
    this.uri=uri;
    this.values=values;
}

@Override
public Uri loadInBackground() {
    Log.e("TAG","thread running");
  Uri  uriTemp=context.getContentResolver().insert(uri,values);
    return uriTemp;
}
}

我收到错误提示,我正在 returning 错误的 return 类型的数据。 在从互联网加载数据时,我对 String 做了同样的事情,当时它工作了。 我该怎么做才能消除此错误?

确切的错误消息是

Incompatible types.
Required:
android.support.v4.content.Loader
<android.net.Uri>
Found:
com.example.asus.test_table.DbLoader

看来你用错了AsyncTaskLoader。你想

import android.support.v4.content.AsyncTaskLoader; 而不是

import android.content.AsyncTaskLoader;。前者扩展android.support.v4.content.Loader,后者不扩展