0

我需要从一个页面导航到其对应的上一页(我的应用程序中的当前页面有多个上一页)。如何使用向上导航/后退按钮实现它。

4

4 回答 4

1

安卓文档

在清单文件中设置父级,然后在 Activity 上

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch(item.getItemId())
    {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

或者你可以打电话finish()而不是

NavUtils.navigateUpFromSameTask(this)
于 2015-08-14T09:26:48.033 回答
0

您必须使用ActionBarToolBar

然后只需添加setDisplayHomeAsUpEnabled(true)

于 2015-08-14T06:05:50.677 回答
0

在活动上,默认情况下使用后退按钮返回上一个,但没有向上按钮。如果你想起来,输入清单:

android:parentActivityName=".MainActivity"

关于片段:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.addToBackStack("Tag");
. . .
于 2015-08-14T06:06:38.790 回答
0

您可以在清单中指定父活动

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

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

例如:

 <application ... >
    ...
    <!-- The main/home activity (it has no parent activity) -->
    <activity
        android:name="com.example.myfirstapp.MainActivity" ...>
        ...
    </activity>
    <!-- A child of the main activity -->
    <activity
        android:name="com.example.myfirstapp.DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <!-- The meta-data element is needed for versions lower than 4.1 -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>
</application>

通过以这种方式声明父活动,您可以使用 NavUtils API 通过识别哪个活动是每个活动的适当父活动来合成新的回退堆栈。

您可以参考如何实现Android ActionBar 后退按钮?在您的活动中实施 UpNavigation

我希望它有所帮助。

于 2015-08-14T06:09:47.217 回答