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();
}
}