我想使用相同的按钮显示和隐藏流量(切换(。所以我在我的XML中尝试了(onClick)
方法,我的Java代码是:
public void traffic (View view){
ImageButton bttn=findViewById(R.id.traffic);
if(bttn.isClickable()){
mMap.setTrafficEnabled(true);
}
else {
mMap.setTrafficEnabled(false);
}
但这行不通。它只显示交通,如果我再次按下按钮,什么都不会发生。
如何解决这个问题?
这应该有效:
//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
}
}
});
我认为你混淆了clickable()
.如果始终为真,clickable()
将永远不会禁用您的流量。
你应该尝试这段代码来解决这个问题,首先声明一个全局变量,如下所示:
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
}
}
});