I'm having problem creating my own CustomInfoWindow. getting exception without know where & why
this is my simple customInfoWindow class
public class CustomInfoWindow implements InfoWindowAdapter {
private LayoutInflater mInflater;
public CustomInfoWindow(LayoutInflater inflater) {
this.mInflater=inflater;
}
@Override
public View getInfoContents(Marker marker) {
View popup = mInflater.inflate(R.layout.info_window_layout, null);
TextView tv=(TextView)popup.findViewById(R.id.title);
tv.setText(marker.getTitle());
tv=(TextView)popup.findViewById(R.id.address);
tv.setText(marker.getSnippet());
return popup;
}
@Override
public View getInfoWindow(Marker marker) {
View popup = mInflater.inflate(R.layout.info_window_layout, null);
TextView tv=(TextView)popup.findViewById(R.id.title);
tv.setText(marker.getTitle());
tv=(TextView)popup.findViewById(R.id.address);
tv.setText(marker.getSnippet());
return popup;
}
}
I'm setting it here. (MainActivity)
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
Statics.LAT_TLV, Statics.LON_TLV), 13));
CustomInfoWindow customInfoWindow = new CustomInfoWindow(getLayoutInflater());
mMap.setInfoWindowAdapter(customInfoWindow);
I didn't implement the onMarkerClick method. the map loads ok with the markers (about 40), but when i click on one of the markers i get:
01-10 13:15:24.321: E/AndroidRuntime(21162): FATAL EXCEPTION: main
01-10 13:15:24.321: E/AndroidRuntime(21162): java.lang.NullPointerException
01-10 13:15:24.321: E/AndroidRuntime(21162): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at android.view.View.measure(View.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.y.i(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.y.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.w.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.bd.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.y.bw.b(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.y.bw.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.dh.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.n.c(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.dw.a(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.bd.c(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.a.dq.onSingleTapConfirmed(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.e.v.onSingleTapConfirmed(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at maps.e.j.handleMessage(Unknown Source)
01-10 13:15:24.321: E/AndroidRuntime(21162): at android.os.Handler.dispatchMessage(Handler.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at android.os.Looper.loop(Looper.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at android.app.ActivityThread.main(ActivityThread.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at java.lang.reflect.Method.invokeNative(Native Method)
01-10 13:15:24.321: E/AndroidRuntime(21162): at java.lang.reflect.Method.invoke(Method.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-10 13:15:24.321: E/AndroidRuntime(21162): at dalvik.system.NativeStart.main(Native Method)
would appreciate if someone can help me with this, and if there's a very simple example of how to create you own info view it would be wonderful. thanks very much. Udi
You should not be overriding both
getInfoWindow()andgetInfoContents(), at least wheregetInfoWindow()can never returnnull. YourgetInfoContents()will never be used.If I had to guess, your problem lies in your layout file, but that is just a guess.
Here is a sample
InfoWindowAdapter:Using this layout file for the
InfoWindow:The complete sample application can be found at: https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/Popups