Android - 从 Activity 返回到上一个 Activity (无后退箭头)

标签 android android-intent toolbar

我有 2 个 Activity :HomeActivityEmailChangeActivity 以及 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/

相关文章:

android - 将数据解析为数组

java - 在处理 Intent 时如何使用 putExtra/get_Extra?

android - 匹配 <intent-filter> 中的 url 模式

android - 如何处理android中Listview中的点击事件?

delphi - 将按钮添加到 TToolBar 自定义中的可用列表

forms - 如何以可继承的形式更改工具按钮的顺序?

android - 在android中的多行edittext中获取特定行的内容

Android:如何使用 GSON 库解析 JSON 文件?

delphi - 如何使用 Delphi 制作 rocketdock/OSX 风格的启动栏

android - 谷歌分析是否提供应用程序下载 API?