片段中的 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
)。
我有一个简单的片段,试图在其中实现 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
)。