2013-04-11 66 views
2

我有一个使用操作栏Android应用程序的活动,并通过系统的流动被在清单确定为这样:Android操作栏,“上”的项目,与具有多于一个亲

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

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

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

回答

2

你的意思是这样的一个活动,你想从哪里走到ActionBar的另一个活动?

@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; 
    } 
    } 
+0

啊,辉煌!我已经有onOptionsItemSelected方法,但正在做“NavUtils.navigateUpFromSameTask(this);”而不是创造一个新的意图。很好,谢谢。 – 2013-04-11 11:48:04

0

如果你只想去到以前的活动中,你可以做:

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