Android-从活动向后导航到上一个活动(无向后箭头)
我有两个活动:Android-从活动向后导航到上一个活动(无向后箭头),android,android-intent,toolbar,Android,Android Intent,Toolbar,我有两个活动:HomeActivity和EmailChangeActivity以及HomeActivity中的一些片段。我要做的是在EmailChangeActivity工具栏中设置返回导航箭头。我有更多的活动,不知何故我成功地制作了那个箭头(但我直接从活动中制作了意图,而不是从活动中的片段)。为了得到那支箭,我所做的是: 当我从HomeActivity转到EmailChangeActivity时,我在HomeActivity片段中调用此项: Intent intent = new In
HomeActivity
和EmailChangeActivity
以及HomeActivity
中的一些片段。我要做的是在EmailChangeActivity
工具栏中设置返回导航箭头。我有更多的活动,不知何故我成功地制作了那个箭头(但我直接从活动中制作了意图,而不是从活动中的片段)。为了得到那支箭,我所做的是:
当我从HomeActivity
转到EmailChangeActivity
时,我在HomeActivity
片段中调用此项:
Intent intent = new Intent(getActivity().getApplicationContext(),
ChangeEmailActivity.class);
getActivity().startActivityForResult(intent, 1);
在EmailChangeActivity
I中插入标准代码创建工具栏
并设置它:
// Setting Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getString(R.string.change_email_activity_name));
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
在Manifext.xml
中,我制作了:
<!-- Home Activity -->
<activity
android:name="com.example.nazwamarki.myapplication.HomeActivity"
android:label="@string/home_activity_name"
android:theme="@style/AppTheme.Normal">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Change Email Activity -->
<activity
android:name="com.example.nazwamarki.myapplication.ChangeEmailActivity"
android:label="@string/register_activity_name"
android:theme="@style/AppTheme.Normal"
android:parentActivityName=".HomeActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.nazwamarki.myapplication.HomeActivity" />
</activity>
如果您没有使用操作活动
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.home) {
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// The intent to go back to HomeActivity
}
});
如果您使用的是ActionBarActivity
,那么您所需要做的就是让Android将工具栏用作ActionBar
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
看起来您缺少此部分:
@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;
}
return super.onOptionsItemSelected(item);
}
您可以在此处获得更多详细信息,但如果我启动活动时不使用startActivity()
,而是使用startActivityForResult()
?是否正在改变某事?