gpt4 book ai didi

android - LoaderManager 和 CursorLoader 在 ViewPager 的 fragment 中不工作

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:52 25 4
gpt4 key购买 nike

我在 ViewPager 中有一个名为 AllSongsFragment 的 fragment 。父 Activity 扩展了 android.support.v4.app.FragmentActivity

我正在尝试实现 LoaderManagerCursorLoader 以异步获取游标。下面是 AllSongsFragment:

import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v4.content.CursorLoader;

public class AllSongsFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor> {
public void onActivityCreated(Bundle savedInstanceState) {
.
.
getLoaderManager().initLoader(0, null, this);
}


@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
Toast.makeText(getActivity(), "YAYYYY", Toast.LENGTH_SHORT);
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String[] projection = new String[] {MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST};
CursorLoader cursorLoader = new CursorLoader(getActivity(), uri, projection, null, null, null);
return cursorLoader;
}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
Toast.makeText(getActivity(), "finished", Toast.LENGTH_SHORT);
}

@Override
public void onLoaderReset(Loader<Cursor> loader) {
// TODO
}
}

我的问题是没有调用 onCreateLoader() 或任何 LoaderManager 回调方法。该应用程序也不会崩溃,也没有异常(exception)。我做错了什么?

最佳答案

您正在使用支持库类 LoaderManagerCursorLoader。因此,您需要调用 support LoaderManager

替换

getLoaderManager().initLoader(0, null, this);

getActivity().getSupportLoaderManager().initLoader(0, null, (LoaderCallbacks<Cursor>)this);

关于android - LoaderManager 和 CursorLoader 在 ViewPager 的 fragment 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413138/

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