Je crée une extension de ItemizedOverlay. Lorsqu'un utilisateur appuie sur une broche sur la carte (onTap), je veux afficher un RelativeLayout, qui est inclus dans le même fichier .xml que la carte. Lorsque le RelativeLayout est visible, il couvre la carte.Accéder à une vue Android depuis ItemizedOverlay étendu?
Étant donné que cette vue est le contexte de la classe principale, je ne sais pas comment accéder à la vue (DetailLayout) à partir de l'appel onTap().
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="MY KEY HERE"
/>
<RelativeLayout
android:id="@+id/DetailLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="left"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/DetailCloseButtonLayout"
android:layout_width="fill_parent"
android:layout_height="36dp"
android:gravity="center_vertical|right"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/DetailCloseButton"
android:background="@drawable/close"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="10dp"
android:gravity="center_vertical">
</Button>
</LinearLayout>
<TextView
android:text="Detail Here. Detail Here."
android:id="@+id/DetailTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/DetailCloseButtonLayout">
</TextView>
</RelativeLayout>
Pour le moment, je n'ai pas ItemizedOverlay en tant que classe interne de MapActivty ... Je pourrais déplacer les choses, mais je verrai ce que je peux accomplir d'autre. Actuellement, je suis capable de lire le texte TextView par défaut via un journal ("Détail ici. Détail ici."), Mais je ne suis pas en mesure d'afficher la vue sur l'écran, car "addView" n'est pas reconnu dans ItemizedOverlay. – Chris
@Chris: "Pour l'instant, je n'ai pas ItemizedOverlay en tant que classe interne de MapActivty" - vous pouvez également passer le paramètre "MapActivity" en tant que paramètre constructeur de votre ItemizedOverlay. "mais je ne suis pas en mesure d'obtenir l'affichage à l'écran, comme il est dit" addView "n'est pas reconnu dans ItemizedOverlay." -- correct. Vous ne voulez pas l'ajouter à la superposition. Vous voulez l'ajouter à tout ce que vous avez fourni 'setContentView()' dans votre 'MapActivity'. Ou, il doit être là tout le temps, et basculer entre visible et parti au besoin. – CommonsWare