Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getColumnIndex访问外部内存中的特定文件夹_Java_Android_Android Cursor_Mediastore_Android External Storage - Fatal编程技术网

Java getColumnIndex访问外部内存中的特定文件夹

Java getColumnIndex访问外部内存中的特定文件夹,java,android,android-cursor,mediastore,android-external-storage,Java,Android,Android Cursor,Mediastore,Android External Storage,我试图在gridview中显示缩略图,但我不知道如何仅让光标访问一个名为“FoMOvideos”的特定文件夹。我如何使用 .getColumnIndex(MediaStore.Files.FileColumns.DATA 仅访问我的外部存储中的一个文件夹 private Uri getUriFromMediaStore(int position) { //int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Fil

我试图在gridview中显示缩略图,但我不知道如何仅让光标访问一个名为“FoMOvideos”的特定文件夹。我如何使用 .getColumnIndex(MediaStore.Files.FileColumns.DATA 仅访问我的外部存储中的一个文件夹

private Uri getUriFromMediaStore(int position) {
        //int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.DATA);
        int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.DATA + "FoMOvideos");

        mMediaStoreCursor.moveToPosition(position);

        String dataString = mMediaStoreCursor.getString(dataIndex);
        Uri mediaUri = Uri.parse("file://" + dataString);
        //TODO: Figure out how to direct only to FoMO videos.
        //Uri mediaUri = Uri.parse("file:///storage/emulated/0/Movies/AppVideos" + dataString);
        return mediaUri;
    }

    private void getOnClickUri(int position) {
        int mediaTypeIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.MEDIA_TYPE);
        int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.DATA + "FoMOvideos");

        mMediaStoreCursor.moveToPosition(position);
        String dataString = mMediaStoreCursor.getString(dataIndex);
        Uri mediaUri = Uri.parse("file://" + dataString);
        //TODO: Figure out how to direct only to FoMO videos.
        //Uri mediaUri = Uri.parse("file:///storage/emulated/0/Movies/AppVideos" + dataString);
我尝试将文件夹名“FoMOvideos”添加到我的dataindex变量中,但这会导致以下错误:

03-26 19:28:43.949 16399-16399/?E/AndroidRuntime:致命异常: 主要的 流程:example.fadysi.fomoapp,PID:16399 java.lang.IllegalStateException:无法从中读取第0行第1列 游标窗口。请确保在开始之前正确初始化了游标 从中访问数据。 位于android.database.CursorWindow.nativeGetString(本机方法) 位于android.database.CursorWindow.getString(CursorWindow.java:438) 位于android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51) 位于android.database.CursorWrapper.getString(CursorWrapper.java:137) 例如.fadysi.fomoapp.ThumbnailVideoPlay.MediaStoreAdapter.getUriFromMediaStore(MediaStoreAdapter.java:104) 例如.fadysi.fomoapp.ThumbnailVideoPlay.MediaStoreAdapter.onBindViewHolder(MediaStoreAdapter.java:46) 例如.fadysi.fomoapp.ThumbnailVideoPlay.MediaStoreAdapter.onBindViewHolder(MediaStoreAdapter.java:18) 位于android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6067) 位于android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6100) 位于android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5282) 位于android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5158) 位于android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2061) 位于android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:562) 位于android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1408) 位于android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:580) 位于android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170) 位于android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3379) 位于android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3188) 位于android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3632) 在android.view.view.layout(view.java:16636) 位于android.view.ViewGroup.layout(ViewGroup.java:5437) 位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 位于android.widget.FrameLayout.onLayout(FrameLayout.java:273) 在android.view.view.layout(view.java:16636) 位于android.view.ViewGroup.layout(ViewGroup.java:5437) 位于android.support.v4.view.ViewPager.onLayout(ViewPager.java:1799) 在android.view.view.layout(view.java:16636) 位于android.view.ViewGroup.layout(ViewGroup.java:5437) 位于android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131) 位于android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42) 位于android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1367) 位于android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:849) 在android.view.view.layout(view.java:16636) 位于android.view.ViewGroup.layout(ViewGroup.java:5437) 位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 位于android.widget.FrameLayout.onLayout(FrameLayout.java:273) 在android.view.view.layout(view.java:16636)