什么可能阻止显示HomeAsUp图标

时间:2014-12-18 15:18:17

标签: java android android-actionbar

我一直在开发一个包含多个ActionBar活动的应用程序,从一开始就可以看到HomeAsUp按钮并处理从MainActivity中选择的所有活动。今天我注意到它不再存在 - 但我无法弄清楚我所改变的会影响它的东西。

最近几天最重要的变化是我将项目从Eclipse迁移到Android Studio,因为我遇到了Eclipse经常破坏我的项目文件并需要完全重新安装的问题。

这是主要活动中创建新活动的代码示例:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
  Intent intent=null;
  int id = item.getItemId();
  switch (id) {
    case R.id.action_list:
      intent = new Intent(this, StudyListActivity.class);
      break;
    // etc
  }

  if (intent != null) {
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    return true;
  }
  return super.onOptionsItemSelected(item);
}

以下是清单

中声明的声明
<activity
  android:name="com.example.app.StudyListActivity"
  android:label="@string/activity_list"

  android:parentActivityName="com.example.app.MainActivity" >
    <meta-data
      android:name="android.support.PARENT_ACTIVITY"
      android:value="com.example.app.MainActivity" />
</activity>

因为它停止了工作我也尝试了

getSupportActionBar().setHomeButtonEnabled(true);

在被调用活动的onCreate方法中(根据Display back button on action bar)但没有区别。

所以我想知道是否有任何东西在我从eclipse的迁移中被剥夺了,这会阻止它显示(或者我可以改变的其他东西可能会无意中将其禁用)

2 个答案:

答案 0 :(得分:2)

您应该通过setDisplayOptions

启用它
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME);

答案 1 :(得分:1)

您也可以尝试

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

在活动中,您需要

中的HomeAsUp图标