2017-01-11 4 views
0

При нажатии на кнопки «Настройки» Fragment кнопки «Мои приложения» Navigation Drawer должны быть скрыты, а стрелка вверх должна занять свое место, чтобы вернуться к предыдущему Fragment.Навигация вверх не работает с навигационным ящиком

Это, как я это сделать, в моем Установка Fragment:

((TaskForgeActivity)getActivity()).setDrawerState(false); 
((TaskForgeActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Где setDrawerState является:

public void setDrawerState(boolean isEnabled) { 
    if (isEnabled) { 
     drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
     toggle.setDrawerIndicatorEnabled(true); 
     toggle.syncState(); 

    } else { 
     drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 
     toggle.setDrawerIndicatorEnabled(false); 
     toggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       onSupportNavigateUp(); 
      } 
     }); 
     toggle.syncState(); 
    } 
} 

и мой onOptionItemSelected является:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 

    // User clicks on Settings 
    if (id == R.id.action_settings) { 
     settings(); 
     return true;   
    } else if (id == android.R.id.home) { 
     finish(); 
     TaskForgeActivity.this.overridePendingTransition(0, 0); 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

Но по какой-то причине мой onOptionItemSelected не вызывается, когда я нажимаю на вверх навигацию , стрелка, и кажется, что ничего не происходит.

Что может быть причиной этой проблемы?

ответ

0

Следующий слушатель (Содержатся в setDrawerState) был блокирование вверх навигации слушателя:

toggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      onSupportNavigateUp(); 
     } 
    }); 

Я предполагаю две слушателей перекрывания и первый было аннулирован.

Что я наделал, это удаление навигации вверх через кнопку интерфейса и ее настройку с помощью кнопки обратной навигации на моем телефоне (как это должно было быть сделано с самого начала).

Смежные вопросы