Я хочу реализовать кнопку «вверх» в приложении для Android только с одним действием, которое меняет свое содержимое с другим фрагментом. Я использовал действие навигационного ящика по умолчанию, предоставленное студией Android, где я добавил frameLayout в content_main. Во фрагменте, где я хочу, чтобы отображалась кнопка вверх, я добавил эту строку кода в метод onCreateView:
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);
}
в активности я установил 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;
}
но щелчок по нему не срабатывает. Я попытался добавить кнопку настройки, и она сработала. Я уже прочитал много вопросов об этом, но я не могу понять, как это решить