2017-02-17 11 views
3

Glide(インターネットから画像URLを取得)を使用して画像が最初にimageViewに設定されている部分があります。次に、画像ビューをクリックすると、ギャラリーまたはカメラの意図から新しい画像を選択することができます。問題は、OnActivityResult()から取得するビットマップを設定しようとするときです。イメージは実際には設定されますが、グライドによってオーバーラップされます。私はカメラ/ギャラリーからキャプチャされた画像を表示する必要があります。ピカソや他の図書館を使ってもそれができれば助けてください。以下 は、私がこれまでGlideで設定した画像を削除し、imageView.setImageBitmap()を使用します。

onActivityResult()を試してみました何である

また
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 

    if (resultCode == Activity.RESULT_OK) 
    { 
     if (requestCode == SELECT_FILE) 
      onSelectFromGalleryResult(data); 
     else if (requestCode == REQUEST_CAMERA) 
      // onCaptureImageResult((Bitmap) data.getExtras().get("data")); 
      onCaptureImageResult(data); 
    } 
} 

private void onCaptureImageResult(Intent data) 
{ 
    if (data != null) 
    { 
     mImageUri = Uri.parse("file://" + data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH)); 
    } 

    try 
    { 
     bitmap_image = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), mImageUri); 
     ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
     bitmap_image.compress(Bitmap.CompressFormat.JPEG, 60, bytes); 

     bitmap_image = Bitmap.createScaledBitmap(bitmap_image, (int) (bitmap_image.getWidth() * 0.5), (int) (bitmap_image.getHeight() * 0.5), true); 

     ExifInterface ei = new ExifInterface(data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH)); 
     int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); 

     switch (orientation) 
     { 
      case ExifInterface.ORIENTATION_ROTATE_90: 
       bitmap_image = (SnappyUtils.rotateImage(bitmap_image, 90)); 
       break; 

      case ExifInterface.ORIENTATION_ROTATE_180: 
       bitmap_image = (SnappyUtils.rotateImage(bitmap_image, 180)); 
       break; 

      case ExifInterface.ORIENTATION_ROTATE_270: 
       bitmap_image = (SnappyUtils.rotateImage(bitmap_image, 270)); 
       break; 

      case ExifInterface.ORIENTATION_NORMAL: 

      default: 
       break; 
     } 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
     Log.d("exception", e.toString()); 
    } 
    ////////////////////// it is showing on iv_logo2 as expected as it does not has anything set by glide////////////////////////////////////////////////////////////////// 
    iv_logo.setBackground(null); 
    iv_logo.setImageBitmap(bitmap_image); 
    iv_logo2.setImageBitmap(bitmap_image); 

    ///////////////////////////tried added this by seeing other SO posts ////////////////////////////////////////////////////////////////// 
    Glide.with(mContext) 
      .load(mImageUri) 
      .signature(new StringSignature(String.valueOf(System.currentTimeMillis()))) 
      .diskCacheStrategy(DiskCacheStrategy.NONE) 
      .skipMemoryCache(true) 
      .into(iv_logo); 
} 

これはあなたのコードグライド

の 編集を

答えて

1

は、古い学校に行くと、最初に

asynchtaskを携帯電話で画像をダウンロードして、自分のアプリケーションにビットマップとしてそのイメージを設定することにしましたイメージをダウンロードする

private class GetImages extends AsyncTask<Object, Object, Object> 
{ 
    private String requestUrl, imagename_; 
    private ImageView view; 
    private Bitmap bitmap; 
    private FileOutputStream fos; 

    private GetImages(String requestUrl, ImageView view, String _imagename_) 
    { 
     this.requestUrl = requestUrl; 
     this.view = view; 
     this.imagename_ = _imagename_; 
    } 

    @Override 
    protected Object doInBackground(Object... objects) 
    { 
     try 
     { 
      URL url = new URL(requestUrl); 
      URLConnection conn = url.openConnection(); 
      bitmap = BitmapFactory.decodeStream(conn.getInputStream()); 
     } 
     catch (Exception ex) 
     { 
      ex.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Object o) 
    { 
     view.setImageBitmap(bitmap); 
    } 
} 
0

更新をキャッシュを削除するのと同じ問題ではないことに注意してください。

01:へ
iv.logo.setBackground(null); 

グライドによって設定された画像を削除する方法を考え出す多くの時間を費やし、そして失敗した後

+0

グライドでイメージセットを削除する方法を知っていますか? – Nilabja

関連する問題