Обеспечение навигации вверх (назад) - с фрагментами пользовательского интерфейса

В документе Google " Предоставление навигации вверх" объясняется, как отображать кнопку "Вверх" в приложении с несколькими действиями (указав "родительские" действия в AndroidManifest.xml):

Скриншот

Однако я работаю над приложением Bluetooth (начиная с minSdkVersion=18), который имеет одну MainActivity и 3 фрагмента:

  • MainFragment.java
  • SettingsFragment.java
  • ScanningFragment.java

Поэтому я изменил базовый класс на ActionBarActivity:

public class MainActivity extends ActionBarActivity 
                          implements BleWrapperUiCallbacks {

И я называю setDisplayHomeAsUpEnabled(true) метод:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  
    setContentView(R.layout.activity_root);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

В моем приложении отображается кнопка "Вверх", однако у меня все еще есть 3 вопроса:

  1. Как скрыть кнопку "Вверх" (когда я показываю основной фрагмент)?
  2. Как "связать" кнопку " вверх" - прикосновение к ней сейчас ничего не дает?
  3. Что использовать вместо следующей строки в моем AndroidManifest.xml?

Android: тема ="@ андроид: стиль /Theme.Holo.NoActionBar"

1 ответ

Решение

Я могу ответить на второй вопрос для обеспечения навигации вверх, переопределив этот метод:

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
    NavUtils.navigateUpFromSameTask(this);
    return true;
}
return super.onOptionsItemSelected(item);
}
Другие вопросы по тегам