【问题标题】:Android action bar 'up' items, with activities that have more than one parentAndroid 操作栏“向上”项目,具有多个父项的活动
【发布时间】:2013-04-11 11:14:22
【问题描述】:

我有一个使用操作栏的 Android 应用,通过系统的流程在清单中确定如下:

<... android:parentActivityName="com.polymorph.amsmobile.xyzActivity" >
<meta-data android:name="android.support.PARENT_ACTIVITY"
           android:value="com.polymorph.amsmobile.xyzActivity" />

但是,用户可以从层次结构中的多个点访问一个屏幕,因此有多个“父”活动,因此我想动态指定父活动,而不是在清单中指定。

我的目标是确保当他们使用操作栏上的“向上”时,它会将他们带到应用程序的正确页面。

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

    您的意思是在一个 Activity 中您希望能够从 ActionBar 转到另一个 Activity 吗?

     @Override
     protected void onCreate(Bundle b) {
        ActionBar ab = getActionBar();
        ab.setHomeButtonEnabled(true);
        ab.setDisplayHomeAsUpEnabled(true);
     }
    
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {    
        switch (item.getItemId()) {
        case android.R.id.home:
           Intent intent = new Intent(this, GoToThisActivity.class);            
           intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
           startActivity(intent);
           return true;
        }
      }
    

    【讨论】:

    • 啊,太棒了!我已经有了 onOptionsItemSelected 方法,但正在执行“NavUtils.navigateUpFromSameTask(this);”而不是创建一个新的意图。效果很好,谢谢。
    【解决方案2】:

    如果你只想去上一个活动,你可以这样做:

      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
          case android.R.id.home:
            finish();
            return true;
          default:
            break;
        }
    

    【讨论】:

      猜你喜欢
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多