Обеспечение навигации вверх (назад) - с фрагментами пользовательского интерфейса
В документе 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 вопроса:
- Как скрыть кнопку "Вверх" (когда я показываю основной фрагмент)?
- Как "связать" кнопку " вверх" - прикосновение к ней сейчас ничего не дает?
- Что использовать вместо следующей строки в моем 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);
}