여기에 문제가 있습니다.BitmapFactory.decodeStream (입력) 항상 null을 반환합니다.
for (int i = 0; i < agenda.size(); i ++)
{
Log.e("TEST", " = " +agenda.get(i).getPicture());
Bitmap newBitmap = getBitmapFromURL(agenda.get(i).getPicture()); // getPicture return the url
imagelist.add(i,newBitmap);
}
와의 null의 원인을 돌려 getBitmapFromURL :에
BitmapFactory.decodeStream(input)
을 :
나는 내가 이렇게 스레드에서 목록
agenda.get(i).getPicture() // always return a good image url
일부 이미지 URL을
private Bitmap getBitmapFromURL(final String src) {
Runnable r=new Runnable()
{
public void run() {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
myBitmap = BitmapFactory.decodeStream(input);
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
};
return myBitmap;
}
이제 누군가 plz 아이디어가 있다면! 감사합니다.
EDIT!
그것은 내가
당신은 당신은 실제로 당신이 만든'Runnable'를 실행하지 않은 (r.run 전화) 또는이의 Runnable로, 스레드를 생성하고 스레드 – Gerhard
를 실행해야합니다. 변수'myBitmap'도 정의하지 않았습니다 ('final'이어야합니다). 또한, runnable에서'run()'을 호출하더라도, 현재 스레드에 대해서만 run을 수행 할 것이고, 비동기 동작을 얻지 못할 것이다. –
시도한 결과가 동일하게 유지됨 – F4Ke