2

Я использую Google Maps в приложении для Android. На карте у меня есть маркер; при нажатии на них я хочу отобразить пользовательский InfoWindowsAdapter, которые показывают эту точку зрения:Вложенные LinearLayout не показаны внутри InfoWindowsAdapter

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:weightSum="1"> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center_vertical|left" 
    android:weightSum="1" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp"> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#040404" 
     android:textSize="17dip" 
     android:textStyle="bold" 
     android:typeface="sans" 
     android:layout_weight="0.30" 
     android:text="@string/wc_nome" 
     android:layout_marginTop="10dp" /> 

    <TextView 
     android:id="@+id/textNome" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:typeface="sans" 
     android:layout_marginTop="10dp" 
     android:layout_weight="0.70" 
     android:text="--" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center_vertical|left" 
    android:weightSum="1" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp"> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#040404" 
     android:textSize="17dip" 
     android:textStyle="bold" 
     android:typeface="sans" 
     android:layout_weight="0.30" 
     android:text="@string/wc_indirizzo" 
     android:layout_marginTop="10dp" /> 

    <TextView 
     android:id="@+id/textIndirizzo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:typeface="sans" 
     android:layout_marginTop="10dp" 
     android:layout_weight="0.70" 
     android:text="--" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="left|center_vertical" 
    android:weightSum="1" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp"> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#343434" 
     android:textSize="17dip" 
     android:layout_weight="0.30" 
     android:text="@string/wc_orario" 
     android:textStyle="bold" 
     android:layout_marginTop="10dp" /> 

    <TextView 
     android:id="@+id/textOrario" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#343434" 
     android:textSize="17dip" 
     android:layout_weight="0.70" 
     android:layout_marginTop="10dp" 
     android:text="--" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="left|center_vertical" 
    android:weightSum="1" 
    android:layout_marginRight="5dp" 
    android:layout_marginLeft="5dp"> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#343434" 
     android:textSize="17dip" 
     android:layout_weight="0.30" 
     android:text="@string/wc_servizi" 
     android:textStyle="bold" 
     android:layout_marginTop="10dp" /> 

    <TextView 
     android:id="@+id/textServizi" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:textColor="#343434" 
     android:textSize="17dip" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_weight="0.70" 
     android:layout_marginTop="10dp" 
     android:text="--" /> 

</LinearLayout> 

</LinearLayout> 

И это часть кода деятельности:

public class InfoAdapter implements GoogleMap.InfoWindowAdapter { 

    View contenuto; 

    InfoAdapter() { 
     contenuto = getLayoutInflater().inflate(R.layout.details, null); 
    } 

    @Override 
    public View getInfoWindow(Marker marker) { 
     return null; 
    } 

    @Override 
    public View getInfoContents(Marker marker) { 
     render(marker, contenuto); 
     return contenuto; 
    } 

    private void render(Marker marker, View view) { 
     if (view != null) { 
      TextView textNome = (TextView) contenuto.findViewById(R.id.textNome); 
      TextView textIndirizzo = (TextView)  contenuto.findViewById(R.id.textIndirizzo); 
      TextView textOrario = (TextView) contenuto.findViewById(R.id.textOrario); 

      textIndirizzo.setText("Indirizzo"); 
      textNome.setText("Nome"); 
      textOrario.setText("07:00 - 19:00"); 
     } 
    } 
} 

Проблема:, когда вам нажмите на маркер, который вы видите в пользовательском представлении, но показываете только первый LinearLayout, который показывает textNome. По существу overy LinearLayout - это строка, и я вижу всегда только первое.

Используя классический вид вне Google Maps, этот вид прекрасно работает.

ответ

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|left" 
    android:padding="5dp" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.30" 
     android:text="@string/wc_nome" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:textStyle="bold" 
     android:typeface="sans" /> 

    <TextView 
     android:id="@+id/textNome" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.70" 
     android:text="--" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:typeface="sans" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|left" 
    android:padding="5dp" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.30" 
     android:text="@string/wc_indirizzo" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:textStyle="bold" 
     android:typeface="sans" /> 

    <TextView 
     android:id="@+id/textIndirizzo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.70" 
     android:text="--" 
     android:textColor="#040404" 
     android:textSize="17sp" 
     android:typeface="sans" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|left" 
    android:padding="5dp" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.30" 
     android:text="@string/wc_orario" 
     android:textColor="#343434" 
     android:textSize="17sp" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/textOrario" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.70" 
     android:text="--" 
     android:textColor="#343434" 
     android:textSize="17dip" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|left" 
    android:padding="5dp" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.30" 
     android:text="@string/wc_servizi" 
     android:textColor="#343434" 
     android:textSize="17sp" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/textServizi" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_weight="0.70" 
     android:text="--" 
     android:textColor="#343434" 
     android:textSize="17dip" /> 
</LinearLayout> 

Смежные вопросы