我有 2 个 Activity :HomeActivity
和 EmailChangeActivity
以及 HomeActivity
中的一些 fragment 。我想要做的是在 EmailChangeActivity
工具栏中设置 back navigation arrow
。我有更多的 Activity ,我设法以某种方式制作了那个箭头(但我直接从 Activity 中制作了 Intents
,而不是从 Activity 内部的 fragment 中制作)。我为了得到那支箭所做的是:
当我从 HomeActivity
转到 EmailChangeActivity
时,我在 HomeActivity
fragment 中调用它:
Intent intent = new Intent(getActivity().getApplicationContext(),
ChangeEmailActivity.class);
getActivity().startActivityForResult(intent, 1);
在 EmailChangeActivity
中,我插入标准代码创建 Toolbar
并设置它:
// 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>
还是没有结果。有帮助吗?
编辑
我忘了补充一点,我还包含在 EmailChangeActivity
中:
@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);
}
最佳答案
如果您没有使用 ActionBarActivity
:
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 将 Toolbar 用作 ActionBar。
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
关于Android - 从 Activity 返回到上一个 Activity (无后退箭头),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34001330/