片段中的 AsyncTaskLoader

AsyncTaskLoader in fragment

我有一个简单的片段,试图在其中实现 AsyncTaskLoader。但是我遇到了一个编译时错误:

错误:类型不兼容 必需的: 加载器<列表> 成立: 装载无人机

错误在 onCreateLoader 方法中。我错过了什么?

经过一些研究我无法找到解决方案。

这是代码

 public class SubPlaceFragment extends Fragment implements LoaderManager.LoaderCallbacks<List<String>> {


 @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        getLoaderManager().initLoader(0, null, this);
        getLoaderManager().getLoader(0).startLoading();
    }


  @Override
        public Loader<List<String>> onCreateLoader(int id, Bundle args) {
            return new LoaderDrone(getActivity());
        }

        @Override
        public void onLoadFinished(Loader<List<String>> loader, List<String> data) {

        }

        @Override
        public void onLoaderReset(Loader<List<String>> loader) {

        }

        public static class LoaderDrone extends AsyncTaskLoader<List<String>> {

            public LoaderDrone(Context context) {
                super(context);
                onForceLoad();
            }

            @Override
            public List<String> loadInBackground() {
                List<String> results = null;


                return results;
            }
        }
    }

感谢您的帮助:)

确保您正在导入正确的 Loader class。

如果您使用的是支持 Fragment (android.support.v4.app.Fragment),则需要使用支持 Loader (android.support.v4.content.Loader)。

如果您使用的是原生片段 (android.app.Fragment),那么您需要使用原生加载器 (android.content.Loader)。