我有一个带有运行自定义方法的动作的菜单,它们仅在每个动作中都被调用,因此不应同时执行它们。问题是,使用我的代码,单击任何选项也会触发我的操作"action_filtrar_hora", and I can't find why maybe it's the result of the boolean method
onOptionsItemSelected`?
这是我的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_sign_out) {
mAuth.signOut();
mGoogleApiClient.clearDefaultAccountAndReconnect();
//signOut();
startActivity(new Intent(this,SignIn.class));
finish();
}
if(id == R.id.action_cambiar_ciudad)
{
seleccionarCiudad();
}
if(id == R.id.action_cambiar_destino)
{
seleccionarDestino();
}
if(id == R.id.mis_viajes);
{
buildRecyclerView();
}
if(id == R.id.action_filtrar_hora)
{
dialogFiltrarHora();
}
if(id == R.id.action_punto_recogida_ida)
{
dialogEstablecerPuntoRecogidaIda();
}
if(id == R.id.action_punto_recogida_vuelta)
{
dialogEstablecerPuntoRecogidaVuelta();
}
return true;
}
在调试时,我发现这些动作具有不同的ID,但是由于某种我无法理解的原因,它们似乎同时在两者上执行,
答案 0 :(得分:0)
显然,答案是建立一个switch语句而不是多个if语句,但是仍然不知道为什么一次执行两个操作。