我已经实现了一个InfoWindowAdapter来返回这个膨胀的XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/layoutRoot"
android:clickable="true">
<TextView
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Medium Text"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/snippetText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
由
夸大public class MarkerWindowProvider implements InfoWindowAdapter {
private LayoutInflater lInflater;
private InfoWindowClickListener onClick;
public MarkerWindowProvider(Context parent, InfoWindowClickListener onClick) {
lInflater = (LayoutInflater) parent.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.onClick = onClick;
}
@Override
public View getInfoContents(Marker marker) {
return null;
}
@Override
public View getInfoWindow(final Marker marker) {
View contents = lInflater.inflate(R.layout.custom_infowindow, null);
((TextView)contents.findViewById(R.id.titleText)).setText(marker.getTitle());
((TextView)contents.findViewById(R.id.snippetText)).setText(marker.getTitle());
contents.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onClick.onClick(marker);
}
});
return contents;
}
public interface InfoWindowClickListener {
public void onClick(Marker marker);
}
}
显示膨胀的布局而不是股票信息窗口,但无论我选择将XML扩展到哪种方法,OnClick方法都不会触发。
我真的需要这个功能。关于为什么这不起作用的任何想法?任何替代品? 感谢。
答案 0 :(得分:0)
它说,你不能处理信息窗口内的任何事件。这个弹出窗口不是&#34; live&#34;查看,您甚至无法禁用默认背景选择器(阻止闪烁)。不幸。 因此,不建议将按钮和文本视图用于输入。