我一直在开发一个包含多个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的迁移中被剥夺了,这会阻止它显示(或者我可以改变的其他东西可能会无意中将其禁用)
答案 0 :(得分:2)
您应该通过setDisplayOptions
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME);
答案 1 :(得分:1)
您也可以尝试
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
在活动中,您需要
中的HomeAsUp图标