导航返回到android中的上一个活动

时间:2014-04-16 12:44:18

标签: android

我正在尝试使用ActionBar中的向上返回按钮导航回上一个活动,但它无法正常工作。我有

getActionBar().setDisplayHomeAsUpEnabled(true);

in

 onCreate()

方法和

onOptionsItemSelected 

我有

if(item.getItemId()==android.R.id.home){
                onBackPressed();
            } 

在模拟器上它工作正常。当我在我的手机上安装应用程序时,后退按钮消失了。 有任何想法如何解决这个问题? 我的清单的一部分:

<uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="18" />

<activity
            android:name="datepicker.DatePicker"
            android:label="@string/title_activity_date_picker" >
            <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
        </activity>
        <activity
            android:name="gridviewcontext.TableItem"
            android:label="@string/title_activity_table_item" >
            <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
        </activity>

3 个答案:

答案 0 :(得分:0)

您必须在清单中启用后退按钮的活动中添加父活动名称:

android:parentActivityName="your_parent_activity"

答案 1 :(得分:0)

我假设您正在使用版本低于API级别16的移动设备测试该应用。

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

<activity
        android:name="myomega.datepicker.DatePicker"
        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>

在您的清单文件中,您遗漏了android:parentActivityName="com.example.myfirstapp.MainActivity"这一行。

参考http://developer.android.com/training/implementing-navigation/ancestral.html

答案 2 :(得分:-1)

使用finish()而不是onBackPressed()