java - fragment 内的 ManagedQuery()

标签 java android android-fragments

我有以下函数,我在 oncreate 函数中调用它来扩展 fragment Activity 。它在 managedQuery() 上显示错误。当我用 Activity 扩展我的类(class)时,它效果非常好。但现在我在 Fragment 中尝试了这个,但失败了。如有任何建议,请。

代码

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 View rootView = inflater.inflate(R.layout.fragment_home, container, false);
 init_phone_video_grid();
 return rootView;

    }

 private void init_phone_video_grid() {
        System.gc();
        String[] proj = { MediaStore.Video.Media._ID, MediaStore.Video.Media.DATA, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.SIZE };

        file = new File(Environment.getExternalStorageDirectory() + File.separator + "Funtube/UserData/Videos/");

        videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, proj, MediaStore.Images.Media.DATA + " LIKE ? ",new String[] {"%"+file.getAbsolutePath().toString()+"%"}, null);

        count = videocursor.getCount();
        videolist = (ListView) findViewById(R.id.PhoneVideoList);
        videolist.setAdapter(new VideoAdapter(getApplicationContext()));
        videolist.setOnItemClickListener(videogridlistener);
    }

最佳答案

managedQueryActivity的方法,而不是Fragment,所以替换

videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, proj, MediaStore.Images.Media.DATA + " LIKE ? ",new String[] {"%"+file.getAbsolutePath().toString()+"%"}, null);

videocursor = getActivity().managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, proj, MediaStore.Images.Media.DATA + " LIKE ? ",new String[] {"%"+file.getAbsolutePath().toString()+"%"}, null);

但该方法已在 API 11 中弃用,Google 建议使用 CursorLoader相反,有一些关于如何使用它的示例:

http://developer.android.com/intl/es/training/load-data-background/setup-loader.html ,

http://www.compiletimeerror.com/2013/12/how-to-use-android-cursorloader.html#.Vnv42Rp96Rs

关于java - fragment 内的 ManagedQuery(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453604/

相关文章:

android - 如何识别文本是否被省略

android - 使用 RxAndroid 根据特定错误消息改进获取授权 token

java - 如何计算网络的延迟和带宽

java - Action 上的字符编码 URLDecoder

Android-以编程方式删除SD卡

android - 刷新或强制重绘 fragment

java - 如何在 RecyclerView.ViewHolder 中引用 fragment ?请查看详情

android - Android 应用程序从 'best practice' 更改为 'Activities' 的 'Fragments' 是什么?

java - 在 EditText 中检测键盘的关闭(通过后退按钮)

java - 什么是 Xuggler 的好替代品,因为它的开发已经停止?