Java 使用setDisplayHomeAsUpEnabled返回清单中的父\u活动时出现问题
我有两个java文件,Java 使用setDisplayHomeAsUpEnabled返回清单中的父\u活动时出现问题,java,android,android-manifest,Java,Android,Android Manifest,我有两个java文件,NewContact和ViewContact 在这两种情况下,我的代码都是这样的,在NewContact中工作: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_contact); Toolbar toolbar = (Tool
NewContact
和ViewContact
在这两种情况下,我的代码都是这样的,在NewContact
中工作:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_contact);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
//show the App title
actionbar.setTitle("MyApp");
}
//code for the '<', back button. Go back to PopulistoListView, as defined
//in Manifest, PARENT_ACTIVITY
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
然而,当我点击
”时,如果您仔细查看您的清单,特别是这一部分:
<activity
android:name="com.example.chris.tutorialspoint.ViewContact"
android:noHistory="true" />
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.chris.tutorialspoint.PopulistoListView" />
您将看到在
元素之前关闭
标记,这意味着
与整个
对象关联(该对象有效,但不是您想要的)
更新清单,使
元素位于
元素内:
<activity
android:name="com.example.chris.tutorialspoint.ViewContact"
android:noHistory="true">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.chris.tutorialspoint.PopulistoListView" />
</activity>
如果您仔细查看您的清单,特别是这一部分:
<activity
android:name="com.example.chris.tutorialspoint.ViewContact"
android:noHistory="true" />
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.chris.tutorialspoint.PopulistoListView" />
您将看到在
元素之前关闭
标记,这意味着
与整个
对象关联(该对象有效,但不是您想要的)
更新清单,使
元素位于
元素内:
<activity
android:name="com.example.chris.tutorialspoint.ViewContact"
android:noHistory="true">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.chris.tutorialspoint.PopulistoListView" />
</activity>
因此,当stacktrace中引用了NavUtils.navigateUpFromSameTask(this)
时,可以方便地发布相关代码。此外,如果您已经定义了该父活动,您甚至不需要强制向后导航,即不需要在选项项Selected中执行任何操作,它应该返回到任务堆栈本身。NavUtils.navigateUpFromSameTask(this)
?我认为它只会上升到清单中定义的父活动,这就是我希望它返回/上升到的活动。奇怪的是它在一个活动中的工作方式,NewContact
,而不是在另一个活动中。因此NavUtils.navigateUpFromSameTask(this)
所做的事情,因为它在stacktrace中被引用,可以方便地发布相关代码。此外,如果您已经定义了该父活动,您甚至不需要强制向后导航,即不需要在选项项Selected中执行任何操作,它应该返回到任务堆栈本身。NavUtils.navigateUpFromSameTask(this)
?我认为它只会上升到清单中定义的父活动,这就是我希望它返回/上升到的活动。奇怪的是它在一个活动中的工作方式,NewContact
,而不是在另一个活动中。