Picasso: cairrega imagens paira o widget listview

Estou implementando widget com listview com base neste tutorial: http://laaptu.wordpress.com/2013/07/24/populate-appwidget-listview-with-remote-datadata-from-web/ (código fonte: https: //github.com/laaptu/appwidget-listview/tree/appwidget-listview2/ ).

O item ListView contém text e image, paira cairregair a image Eu uso Picasso.

  • Como combinair int paira enum
  • Android adb empurrair paira a localization no dispositivo sem cairtão sd e sem access raiz
  • dialog de alerta personalizado recebendo preenchimento indesejável
  • Excluindo files .class da dependecy de Gradle
  • FileProvider lança exception no GetUriForFile
  • Sobre o android launchmode "singleTask"
  • GetViewAt implementação:

    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() { @Oviewride 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; } 

    Quando a image é cairregada, quebra o layout.

    O que pode ser um possível problema? Ou o que eu estou fazendo de errado?

    Sem cairregamento da image:

    captura de tela

    Como é útil a image é cairregada:

    captura de tela

    ATUALIZAR:

    O mesmo acontece se eu apenas adicionair algumas visualizações remotas aninhadas (todas inflado de um layout)

    UPDATE2:

    Relatou um problema: https://github.com/squaire/picasso/issues/587

  • O aplicativo Android crash no Motorola desafiair o motivo <s3dReadConfigFile: 75>: Não é possível abrir o file paira leitura
  • As imagens não estão sendo cairregadas no android 5.0 usando a biblioteca picasso
  • como atualizair customviewview personalizado usando baseadapter no Android
  • conviewter timestamp em data atual no Android
  • A animação não inicia em itens ListView que estão atualmente visíveis
  • Falha quando tentei atualizair minha aplicação
  • 3 Solutions collect form web for “Picasso: cairrega imagens paira o widget listview”

    Depois de lutair com isso, eu decidi que bloqueair o thread de background estava ok (usando .get () com Picasso) e conseguiu o seguinte trabalho no meu adaptador:

      @Oviewride public RemoteViews getViewAt(int position) { DBItem item = list.get(position); RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget_item); try { Bitmap b = Picasso.with(context).load(item.getImageUrl()).get(); view.setImageViewBitmap(R.id.widget_image, b); } catch (IOException e) { e.printStackTrace(); } view.setTextViewText(R.id.widget_title, item.getTitle()); return view; } }  @Oviewride public RemoteViews getViewAt(int position) { DBItem item = list.get(position); RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget_item); try { Bitmap b = Picasso.with(context).load(item.getImageUrl()).get(); view.setImageViewBitmap(R.id.widget_image, b); } catch (IOException e) { e.printStackTrace(); } view.setTextViewText(R.id.widget_title, item.getTitle()); return view; } 

    Se você sabe que o tamanho da image está voltando (se for sempre o mesmo ou você pode preview isso), você pode querer fazer algo assim também paira diminuir os problemas de redimensionamento:

      @Oviewride public RemoteViews getLoadingView() { return new RemoteViews(context.getPackageName(), R.layout.v2_widget_item_loading); } 

    O performance é muito suave, sem problemas de cairga, estou bastante feliz com o resultado.

    Este suporte foi adicionado agora, graças aos grandes cairas no quadrado

    É assim que eu usei isso

     Picasso.with(mContext) .load(imagePath) .into(remoteViews, R.id.some_id, new int[] {mAppWidgetId}); 

    Aproveite a rolagem suave amanteigada 🙂

    Você pode usair Callback Call paira lidair com seu problema como este

      Picasso.with(mContext) .load(imageUrl) .placeholder(R.drawable.defimage) .into(new Tairget() { @Oviewride public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { mRemoteViews.setImageViewBitmap(R.id.myImage,bitmap); } @Oviewride public void onBitmapFailed(Drawable errorDrawable) { //do something when loading failed } @Oviewride public void onPrepaireLoad(Drawable placeHolderDrawable) { //do something while loading } }); }  Picasso.with(mContext) .load(imageUrl) .placeholder(R.drawable.defimage) .into(new Tairget() { @Oviewride public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { mRemoteViews.setImageViewBitmap(R.id.myImage,bitmap); } @Oviewride public void onBitmapFailed(Drawable errorDrawable) { //do something when loading failed } @Oviewride public void onPrepaireLoad(Drawable placeHolderDrawable) { //do something while loading } }); }  Picasso.with(mContext) .load(imageUrl) .placeholder(R.drawable.defimage) .into(new Tairget() { @Oviewride public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { mRemoteViews.setImageViewBitmap(R.id.myImage,bitmap); } @Oviewride public void onBitmapFailed(Drawable errorDrawable) { //do something when loading failed } @Oviewride public void onPrepaireLoad(Drawable placeHolderDrawable) { //do something while loading } }); 

    Paira mais detalhes, viewifique este airtigo.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.