0
我已经在GoogleMap上实现InfoWindowAdapter反对膨胀点击标记的视图充气视图显示完美,但OnclickListener不工作在该视图的按钮甚至没有按钮被触摸。触摸被禁用的充气视图
实际上的情况是,当我上标记点击进来地图片段面前这可能是问题的发现膨胀的观点并没有触摸或点击
下面膨胀的观点是我的代码片段
MainActivity.java
setContentView(R.layout.activity_map_new);
View view = findViewById(R.id.map);
view.setEnabled(false);
map = ((MapFragment) getFragmentManager()
.findFragmentById(R.id.map)).getMap();
map.getUiSettings().setZoomControlsEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(true);
LatLng main = new LatLng(Double.parseDouble("31.5497"), Double.parseDouble("74.3436"));
map.addMarker(new MarkerOptions()
.title("Twitter")
.snippet("tweet:")
.position(main)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
map.setInfoWindowAdapter(new CustomMapAdaptor(getLayoutInflater().inflate(R.layout.activity_test, null)));
CustomMapAdaptor.java
public class CustomMapAdaptor implements InfoWindowAdapter, OnClickListener {
private View view;
private Button btn1;
public CustomMapAdaptor(View v) {
view = v;
}
@Override
public View getInfoContents(Marker marker) {
btn1 = (Button) view.findViewById(R.id.btn1);
Toast.makeText(view.getContext(), "getInfoContent call", Toast.LENGTH_SHORT).show();
btn1.setOnClickListener(this);
view.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(view.getContext(), "Bitches please i am touched", Toast.LENGTH_SHORT).show();
return false;
}
});
return view;
}
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public void onClick(View v) {
Toast.makeText(view.getContext(), "Btn1 also clicked", Toast.LENGTH_SHORT).show();
}
}