Я хочу открыть снэк-бар, после чего я нажал на маркер и попытался сделать это:
gMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
for(PGO pgo : pgoList.pgos){
if(pgo.getFull().equalsIgnoreCase(marker.getTitle())){
currentPGO = pgo;
view = getCurrentFocus();
mySnackbar(pgo,view);
}
}
return false;
}
});
public void mySnackbar(PGO pgo, View view) {
LinearLayout.LayoutParams objLayoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
Snackbar snackbar = Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE);
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
layout.setPadding(0, 0, 0, 0);
LayoutInflater mInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View snackView = getLayoutInflater().inflate(R.layout.my_snackbar, null);
Button textViewOne = (Button) snackView.findViewById(R.id.txtOne);
TextView tvName = (TextView) snackView.findViewById(R.id.name);
tvName.setText(pgo.getFull());
textViewOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("One", "First one is clicked");
snackbar.dismiss();
}
});
Button textViewTwo = (Button) snackView.findViewById(R.id.txtTwo);
textViewTwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("Two", "Second one is clicked");
}
});
layout.addView(snackView, objLayoutParams);
snackbar.show();
}
Но мое приложение не работает, и в журнале я вижу:
java.lang.IllegalArgumentException: не найдено подходящего родителя из
данный взгляд. Пожалуйста, предоставьте действительный вид.
Хорошо, я делаю это, и это работает:
getWindow().getDecorView(),
Но теперь, когда показывают Snackbar
Я хочу увидеть всю карту, эта Snackbar
покрывает мою карту