Я хочу показать трафик в Google Maps и скрыть его с помощью той же кнопки - PullRequest
0 голосов
/ 13 октября 2018

Я хочу показать и скрыть трафик (переключение) с помощью той же кнопки.Поэтому я попробовал метод (onClick) в своем XML, и мой код Java:

public void traffic (View view){

    ImageButton bttn=findViewById(R.id.traffic);

    if(bttn.isClickable()){
        mMap.setTrafficEnabled(true);
    }

    else {
        mMap.setTrafficEnabled(false);
    }

Но это не работает.Он показывает только трафик, и если я снова нажму кнопку, ничего не произойдет.
Как это можно исправить?

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Это должно работать:

//global variable
 private boolean showTraffic = false;

ImageButton bttn=findViewById(R.id.traffic); 
bttn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    showTraffic = !showTraffic;
    if(showTraffic){
      //this is where you show Traffic
    }
    else{ 
      //this is where you hide Traffic
    }
}
 });
0 голосов
/ 13 октября 2018

Я думаю, что вы путаете clickable().clickable(), если всегда true, никогда не отключит ваш трафик.

Вы должны попробовать этот код, чтобы решить эту проблему, сначала объявите глобальную переменную, подобную этой:

int clickcount=0;
yourbutton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        clickcount=clickcount+1;
        if(clickcount%2!=0)
        {
            //first time clicked to do this, so enable traffic

        }
        else
        {

            //disable traffic here 

        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...