将图片从Google地方网址加载到imageview(Android)

时间:2015-07-23 21:49:31

标签: java android image imageview picasso

我正在尝试从google place的json响应提供的url加载图像并将其放入Imageview布局中,该布局将在单击标记时显示。我在运行时或调试中没有出现错误,但图像不会显示在Imageview上。有什么可能导致这个吗?

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/places"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:background="@drawable/mapinfoborder">

<ImageView
    android:id="@+id/place_badge"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:adjustViewBounds="true" />

<TextView
    android:id="@+id/place_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:textColor="#ffffffff"
    android:layout_below="@+id/place_badge"
    android:paddingTop="5dp"
    android:textSize="20dp"
    android:gravity="center"
    android:text="TitlePlaceHolder"/>

<TextView
    android:id="@+id/place_snippet"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/place_title"
    android:paddingTop="5dp"
    android:textColor="#ffffffff"
    android:textSize="16dp"
    android:gravity="center"
    android:text="SnippetPlaceHolder"/>

    </RelativeLayout>

在我的活动中调用它:

    View v = inflater.inflate(R.layout.places_layout, null);
    placeImage = (ImageView) v.findViewById(R.id.place_badge);
    ...
    Picasso.with(getApplicationContext())
                        .load(markerPlaces.get(marker.getId())).placeholder(R.drawable.bus)
                        .into(placeImage);

我再次没有错误,所以我真的没有可用的logcat。 任何意见/想法/建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

吗?
View v = inflater.inflate(R.layout.places_layout, null);
placeImage = (ImageView) v.findViewById(R.id.place_badge);
...
Picasso picasso = Picasso.with(getApplicationContext());
picasso.invalidate(market.getId());
picasso.load(markerPlaces.get(marker.getId()))
    .placeholder(R.drawable.bus)
    .into(placeImage);