提供向上(又称返回)导航 - 使用UI片段

时间:2015-03-16 15:49:12

标签: android android-fragments android-actionbar up-navigation up-button

Google文档Providing Up Navigation解释了如何在多个活动的应用程序中显示向上按钮(通过指定" parent" AndroidManifest.xml中的活动:

screenshot

但是我正在开发一个蓝牙应用程序(以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. 如何隐藏向上按钮(当我显示MainFragment时)?
  2. 如何" wire" 向上按钮 - 当前触摸它什么都没做?
  3. 在AndroidManifest.xml中使用什么代替以下行?
  4.   

    机器人:主题=" @android:风格/ Theme.Holo.NoActionBar"

1 个答案:

答案 0 :(得分:2)

我可以通过覆盖此方法来回答提供向上导航的第二个问题:

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);
}