Я хочу реализовать кнопку up в приложении Android с одним действием, которое изменяет его содержимое на другой фрагмент. Я использовал активность навигационного ящика по умолчанию, предоставляемую студией Android, где я добавил frameLayout в content_main. В фрагменте, где я хочу вверх Боттон, чтобы показать я добавил эту строку кода в методе onCreateView:NavigationView actionaBar onOptionsItemSelected R.id.home not triggered
ActionBar actionBar = ((AppCompatActivity)getActivity()).getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
объявление этой линии в OnCreate метод:
setHasOptionsMenu(true);
и я добавил способ поймать щелчок этого:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
Log.w("second fragment","clicked back");
return true;
}
return super.onOptionsItemSelected(item);
}
в activiy я установил onCreateOptionsMenu как это:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
, но щелчок по нему не запускается. Я попытался добавить кнопку настройки, и она запускается. Я уже много читал об этом, но я не могу понять, как его решить.
уже пытался, но не работает – pool
К сожалению, в моем случае весь onOptionsItemSelected не называется. – CoolMind
Это не имеет никакого смысла. Почему коммутатор должен иметь какое-либо отношение к проблеме? –