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

Providing Up (aka Back) Navigation - with UI Fragments

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

但是我正在开发一个蓝牙应用程序(从 minSdkVersion=18 开始),它有一个 single MainActivity 和 3 个 Fragments:

所以我将基数 class 更改为 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 中使用什么代替以下行?

android:theme="@android:style/Theme.Holo.NoActionBar"

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

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