2015-01-21 2 views
0

위젯에서 이미지를 URL에서 이미지로 설정하는 방법은 무엇입니까?위젯에서 URL에서 이미지 뷰로 이미지를 설정하는 방법

ImageLoader imageLoader = MyVolley.getImageLoader(); 

     imageLoader.get("http://www.shadyab.com/assests/images/upload/yuu1.jpg", new ImageLoader.ImageListener() { 
      @Override 
      public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 

       remoteViews.setImageViewBitmap(R.id.img_view_main_image_widgets,response.getBitmap()); 
      } 

      @Override 
      public void onErrorResponse(VolleyError error) { 

      } 
     }); 

하지만 내 이미지 뷰 화이트 색상 될 것입니다 :

나는 가장 좋은 방법은 발리 lib 디렉토리를 사용하는 것입니다 생각!

내가 다른 프로젝트에 테스트 한하고 괜찮 았는데 (간단한 이미지 뷰) : 업데이트


.

final ImageView two = (ImageView)findViewById(R.id.two); 

    ImageLoader imageLoader = MyVolley.getImageLoader(); 

     imageLoader.get("http://www.shadyab.com/assests/images/upload/yuu1.jpg", new ImageLoader.ImageListener() { 
      @Override 
      public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 

       two.setImageBitmap(response.getBitmap()); 

      } 

      @Override 
      public void onErrorResponse(VolleyError error) { 

      } 
     }); 

는하지만 로그를 추가하고 나는 오류가 있어요 :

01-21 17 : 28 : 41.801 : E/오류 (2855) : 오류

 imageLoader.get("http://www.shadyab.com/assests/images/upload/yuu1.jpg", new ImageLoader.ImageListener() { 
      @Override 
      public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 

       remoteViews.setImageViewBitmap(R.id.img_view_main_image_widgets,response.getBitmap()); 
       if(response.getBitmap() == null){ 
        Log.e("error", "error"); 
       } 
      } 

업데이트 :

내 모든 코드 :

http://pastebin.com/0wi4pX0N

난 그냥 얻을 :

01-21 17 : 50 : 41.066 : E/getBitmap (13554) : getBitmap

 imageLoader.get("http://www.shadyab.com/assests/images/upload/yuu1.jpg", new ImageLoader.ImageListener() { 
      @Override 
      public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 


       if(response == null){ 
        Log.e("response", "response"); 
       }else if (response.getBitmap() == null){ 
        Log.e("getBitmap", "getBitmap"); 
       }else{ 
        remoteViews.setImageViewBitmap(R.id.img_view_main_image_widgets,response.getBitmap()); 
       } 
      } 
+0

가'R.id.img_view_main_image_widgets인가가 null

다른 하나 '맞지? '응답'이 맞습니까? 'response.getBitmap()'이 null이 아닌가? – shkschneider

+0

예, null입니다! 왜 ?! 내 질문을 업데이트했습니다. –

답변

0

시도 :

URL url = new URL("http://www.shadyab.com/assests/images/upload/yuu1.jpg"); 
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
imageView.setImageBitmap(bmp); 
+0

백그라운드 스레드에서이 메서드를 사용하는 방법은 무엇입니까? –

+0

[AsyncTask] (http://developer.android.com/reference/android/os/AsyncTask.html) – mgokgoz

1

실제로 Bitmapnull입니다. 다음은 오류입니다.

항상 null의 확인 ... 네트워크 호출이 단지 더 Bitmap 반환하지, 그래서 아무것도 표시되지 않습니다 :

@Override 
public void onResponse(ImageContainer response, boolean isImmediate) { 
    if (response == null) { 
     // FAILURE 
     return ; 
    } 
    Bitmap bitmap = response.getBitmap(); 
    if (bitmap != null) { 
     // SUCCESS 
     // setImageBitmap(bitmap); 
    } 
    else { 
     // FAILURE 
     // display placeholder or whatever you want 
    } 
} 
+0

언제나이 오류가 발생합니다 : ( –

+0

또 다른 NPE는 어디에서 왔습니까? Bitmap은 null입니다. 응답도 null입니다 ... – shkschneider

+0

응답이 null이 아닙니다! 비트 맵이 null입니다. : -? –