Я реализую виджет со списком на основе этого урока: http://laaptu.wordpress.com/2013/07/24/populate-appwidget-listview-with-remote-datadata-from-web/ (исходный код: https://github.com/laaptu/appwidget-listview/tree/appwidget-listview2/).
Элемент ListView содержит текст & изображение, для загрузки изображения я использую Picasso.
Реализация getViewAt:
public RemoteViews getViewAt(int position) {
final RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.listview_item);
ListItem listItem = listItemList.get(position);
remoteView.setTextViewText(R.id.headline, listItem.headline);
final String imageUrl = listItem.image;
handler.post(new Runnable() {
@Override
public void run() {
if (!Utils.isEmpty(imageUrl)) {
picasso.load(imageUrl)
.placeholder(R.drawable.empty_photo)
.into(remoteView, R.id.picture, new int[] { appWidgetId });
}
}
});
return remoteView;
}
Когда изображение загружено, оно нарушает макет.
В чем может быть возможная проблема? Или что я делаю не так?
Без загрузки изображения:
Как это выглядит после загрузки изображения:
UPDATE:
То же самое происходит, если я просто добавляю несколько вложенных удаленных представлений (все раздуто из одного макета)
UPDATE2:
Сообщил о проблеме: https://github.com/square/picasso/issues/587