Twitterのリストからプロフィール画像を表示しようとしています。非同期タスクで使用されているリストビューがあります。私の ImageView は、URL からドローアブルで動的に実行されています。2.3.3 では問題なく動作しているようですが、4.0 では画像が表示されません。I ImageView は 4.0 で動作する必要があります。私は困惑しています。これが私のアダプターからのものです:
Tweet o = tweets.get(position);
Drawable drawable = LoadImageFromUrl.LoadImageFromWebOperations(o.profile_image_url);
image.setImageDrawable(drawable);
URL をドローアブルに変換するメソッドは次のとおりです。
public static Drawable LoadImageFromWebOperations(String url) {
try {
Log.i("URL", url);
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
return null;
}
}
リスト項目 (ツイート) の xml レイアウトは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dip" xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/profile_image"
android:layout_width="48dip"
android:layout_height="48dip"
android:layout_gravity="top|left"
android:layout_margin="6dip"
android:contentDescription="Profile Image"
android:src="@drawable/ic_launcher"/>
<!-- Name -->
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/profile_image"
android:paddingBottom="1dip"
android:textColor="#0598DD"
android:textSize="14dip"
android:textStyle="bold" />
<!-- Screen name -->
<TextView
android:id="@+id/screen_name"
android:layout_below="@id/profile_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/name"
android:paddingBottom="1dip"
android:textColor="#ffffff"
android:textSize="14dip"
android:textStyle="italic" />
<!-- Tweet -->
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:paddingBottom="1dip"
android:textColor="#ffffff"
android:textSize="16dip"
android:textStyle="bold" />
<!-- date -->
<TextView
android:id="@+id/time_stamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/text"
android:paddingBottom="3dip"
android:textColor="#0598DD"
android:textSize="14dip"
android:textStyle="italic" />
</RelativeLayout>