gpt4 book ai didi

java - 调用 initLoader() 后 Loader 不启动?

转载 作者:IT老高 更新时间:2023-10-28 23:28:02 25 4
gpt4 key购买 nike

我有一个 fragment ,并希望在单击按钮时启动加载器:

public class MyFragment extends Fragment {

public void onActivityCreated() {
super.onActivityCreated();

Button btn = ...;
btn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
getLoaderManager().initLoader(500, null, mMyCallback);
}
});
}

private LoaderManager.LoaderCallbacks<String> mMyCallback = new LoaderManager.LoaderCallbacks<String>() {

@Override
public Loader<String> onCreateLoader(int arg0, Bundle arg1) {
Log.e(TAG, "LoaderCallback.onCreateLoader().");
return new MyLoader(getActivity());
}
}
}

public class MyLoader extends AsyncTaskLoader<String> {
public MyLoader(Context context) {
super(context);
}

@Override
public String loadInBackground() {
Log.e(TAG, "Hi, running.");
return "terrific.";
}
}

单击按钮后,我可以看到调用了回调的 onCreateLoader 方法,但创建的加载程序实际上并没有启动。我们是否需要在加载器本身上调用 forceLoad() 才能让它真正启动?没有一个示例帖子这样做,

谢谢

最佳答案

你需要实现onStartLoading()并在方法的某处调用forceLoad()

查看这篇文章了解更多信息:Implementing Loaders (part 3)

关于java - 调用 initLoader() 后 Loader 不启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321712/

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