我正在尝试显示 Twitter 列表中的个人资料图片。我有一个与异步任务一起使用的列表视图。我的 ImageView 是在 URL 的可绘制对象中动态完成的。它似乎在 2.3.3 上工作正常,但图像没有在 4.0 上显示。我 ImageView 必须在 4.0 上工作。我很困惑。这是我的适配器:
Tweet o = tweets.get(position);
Drawable drawable = LoadImageFromUrl.LoadImageFromWebOperations(o.profile_image_url);
image.setImageDrawable(drawable);
将 URL 转换为 drawable 的方法是这样的:
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>