2016-09-26 56 views
0

我一直在使用此庫https://android-arsenal.com/details/1/4072從gallary和相機中獲取圖像以設置爲個人資料圖片。設置Parcelable作爲ImageView圖像

TextView chooseImageTextView = (TextView) findViewById(R.id.signUp_uploadPicture_textView); 
    chooseImageTextView.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        ImagePicker.create((Activity) SignUpActivity.this) 
          .folderMode(true) 
          .folderTitle("Select image folder") 
          .imageTitle("Select image") 
          .single() 
          .showCamera(true) 
          .imageDirectory("Camera - Bond Messenger") 
          .start(REQUEST_CODE_PICKER); 
       } 
      } 
    ); 

和它一直工作得很不錯,但結果圖像之際,從庫中導入圖像的類型的Parcelable ArrayList和因此而來的問題就在這裏

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_CODE_PICKER && resultCode == RESULT_OK && data != null) { 

     ArrayList<Image> images = data.getParcelableArrayListExtra(ImagePickerActivity.INTENT_EXTRA_SELECTED_IMAGES); 

     profilePictureCircleImageView.setImageBitmap(images.get(0)); 
    } 
} 

我得到一個錯誤試圖設置結果圖像在圖像的profilePictureCircleImageView

,所以我已經試過了鑄造爲位圖,BitmapDrawable和繪製對象,但沒有工作

有什麼幫助嗎?謝謝

回答

0

快速挖掘您提供的庫的源代碼,發現Image類不是來自android包android.media.Image

See Image.class from library on github

如此以來,類持有,你可以做以下的圖片的路徑。

Bitmap bmImg = BitmapFactory.decodeFile(images.get(0).getPath()); 
profilePictureCircleImageView.setImageBitmap(bmImg); 
+0

謝謝你!!!這是一個快速而完美的答案! –

0

返回的內容不是實際圖像,而是保存圖像路徑的對象。 您必須手動加載:

String path = images.get(i).getPath() 

Bitmap bitmap = BitmapFactory.decodeFile(path, null); 

profilePictureCircleImageView.setImageBitmap(bitmap);