我正在尝试在主屏幕小部件上显示联系人图片,RemoteViews.setImageViewUri()
但没有显示任何内容。
我记录了图片 URI,它是正确的,比如content://com.android.contacts/contacts/293/photo
这是我的getViewAt
方法:
// Create and populate the View to display at the given index.
public RemoteViews getViewAt(int index) {
// Create a view to display at the required index.
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.item_layout);
// Populate the view with contact name.
rv.setTextViewText(R.id.name, items.get(index).getString("first_name"));
//check if we have a photo set
if (items.get(index).getString("photo_url") != null) {
Log.i("parsed uri", String.valueOf(Uri.parse(items.get(index).getString("photo_url"))));
rv.setImageViewUri(R.id.photo_url, Uri.parse(items.get(index).getString("photo_url")));
}
// Create an item-specific fill-in Intent that will populate
// the Pending Intent template created in the App Widget Provider (GridWidgetProvider).
Intent fillInIntent = new Intent();
fillInIntent.putExtra(Intent.EXTRA_TEXT, items.get(index));
rv.setOnClickFillInIntent(R.id.name, fillInIntent);
return rv;
}
它显示联系人姓名很好,但没有图片...
知道为什么吗?谢谢
编辑:ImageView 的 xml:
<ImageView
android:id="@+id/photo_url"
android:layout_width="match_parent"
android:layout_height="125dp"
android:layout_above="@id/name"
android:gravity="center"
android:background="#FFFF0000"
/>