触摸在膨胀视图上处于禁用状态



我已经在GoogleMap上实现了InfoWindowAdapter,反对膨胀的视图完美显示的点击标记的视图,但OnclickListener没有在该视图的按钮上工作,甚至没有触摸按钮。

实际上情况是当我单击标记时,膨胀的视图出现在地图片段的前面 这可能是未触摸或单击膨胀视图的问题

下面是我的代码片段

主活动.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)));

自定义映射适配器.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();
}

}

尝试使用以下方法设置侦听器:

mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener()

最新更新