簡體   English   中英

顯示特定文件夾中的圖像並打開所選圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM