如何返回基本活动

时间:2014-08-06 16:23:07

标签: android android-activity android-actionbar

我正在Android平台上创建新的应用程序。

我在返回基本活动时遇到了麻烦。

public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        setContentView(R.layout.setting_layout);
         ActionBar actionBar = getSupportActionBar();
         //Return to Base
         actionBar.setDisplayHomeAsUpEnabled(true);

    }
    return super.onOptionsItemSelected(item);
}

我尝试用:

更改Manifest.xml
<application 
    android:launchMode="singleTask"
<activity...
<meta-data android:name="android.support.PARENT_ACTIVITY"
    android:value=".TestParentActivity">
</meta-data>
</activity>

等。

但是,这些都不起作用。

请帮帮我。

谢谢。 最诚挚的问候。

2 个答案:

答案 0 :(得分:1)

尝试使用android:ParentActivityName:&#34; .MainActivity&#34;在你的标签

从Android 4.1(API级别16)开始,您可以通过在元素中指定android:parentActivityName属性来声明每个活动的逻辑父级。

如果您的应用支持Android 4.0及更低版本,请在您的应用中添加支持库,并在其中添加元素。然后将父活动指定为android.support.PARENT_ACTIVITY的值,与android:parentActivityName属性匹配。

<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>

有关ActionBar Naviagation的详细信息,请阅读here

答案 1 :(得分:0)

向上按钮ID为android.R.id.home

所以在你的onOptionsItemSelected中你需要这个

case android.R.id.home:
    NavUtils.navigateUpFromSameTask(this);
    return true;

并且在清单中的活动中,您需要声明父活动标记

android:parentActivityName