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