【问题标题】:How can I use UpNavigation (Back button) to navigate from one page to its corresponding previous page in android eclipse如何在 android eclipse 中使用 UpNavigation (后退按钮)从一个页面导航到其对应的上一页
【发布时间】:2015-08-14 05:58:31
【问题描述】:

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

【问题讨论】:

    标签: android back-button up-navigation


    【解决方案1】:

    Android documentation

    在 Manifest 文件中设置父级,然后在 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)
    

    【讨论】:

      【解决方案2】:

      您必须使用ActionBarToolBar

      然后只需添加setDisplayHomeAsUpEnabled(true)

      【讨论】:

      • 是否可以移动到指定的上一个按钮?如果是这样,你能给我一个示例代码吗?
      【解决方案3】:

      在活动上,默认情况下使用后退按钮返回上一个,但没有向上按钮。如果你想起来,把 Manifest 放进去:

      android:parentActivityName=".MainActivity"
      

      关于片段:

      FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
      transaction.addToBackStack("Tag");
      . . .
      

      【讨论】:

      • 是否可以移动到指定的上一个按钮?如果是这样,你能给我一个示例代码吗?
      • 我不明白嗯也许发布一些你尝试过的代码
      【解决方案4】:

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

      从 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>
      

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

      您可以参考How to implement the Android ActionBar back button? 在您的活动中实施 UpNavigation

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-01
        • 2021-06-25
        • 2012-09-29
        • 2010-10-08
        • 2021-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多