[英]Show images in specific folder and open selected image
我想创建一个活动当我打开活动以在名为“ myfolder”的特定文件夹中显示图像时,当我选择图像时,我需要它以在imageview中显示它。
我创建的代码可以正常工作,但是会向我显示设备中的所有图像,当我选择图像时,它会返回应用程序,但不会在imageview中显示图像
ImageView imageview1;
private static final int REQUEST_OPEN_RESULT_CODE = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
imageview1 = (ImageView) findViewById(R.id.imageview);
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/myfolder/");
intent.setDataAndType(uri, "image/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_OPEN_RESULT_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData){
if (requestCode == REQUEST_OPEN_RESULT_CODE && requestCode == RESULT_OK){
Uri uri = null;
if(resultData != null){
uri = resultData.getData();
Glide.with(this)
.load(uri)
.into(imageview1);
}
}
}
private Bitmap getBitmapFromUri(Uri uri) throws IOException {
ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri, "r");
FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor);
parcelFileDescriptor.close();
return bitmap;
}
private GestureDetector gs = null;
尝试将URI转换为Path
public static String getPathFromURI(Context context, Uri uri) {
String[] proj = { MediaStore.Images.Media.DATA };
String result = null;
CursorLoader cursorLoader = new CursorLoader(
context,
uri, proj, null, null, null);
Cursor cursor = cursorLoader.loadInBackground();
if(cursor != null){
int column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
result = cursor.getString(column_index);
}
return result;
}
并设置滑行内的路径
可能是工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.