android 工具栏:如果按下后退箭头,如何返回上一个 activity

android toolbar: how to go back to previous activity if back arrow is pressed

我有一个 activity 叫 Place

我从之前的activityCity来到Placeactivity。

我已使用以下代码将后退按钮添加到 Place activity 中的工具栏:

    Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true)

我想设置后退按钮返回Cityactivity

但是Cityactivity需要传递一些参数给它。

那么如何告诉后退按钮转到城市 activity,而不需要将参数传递给它。

在您的 backButton 中,您只需调用 finish(); 并关闭 Activity,无需将参数传递给其他 Activity。

在您的 AndroidManifest.xml 文件中,添加标签 android:parentActivityName 并将其指向您要在后退按钮上继续的位置。在 java 您需要致电

 getActionBar().setDisplayHomeAsUpEnabled(true);

方法,你已经做过了。 This 会有帮助。

<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
    android:name="com.example.myfirstapp.MainActivity" ...>
    ...
</activity>
<!-- A child of the main activity -->
<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>

根据你的Question.You应该使用finish ()

Call this when your activity is done and should be closed.To finish an activity finish() method should be called. This is applicable for the currently active activity.

例子

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) // Press Back Icon
    {
        finish();
    }

    return super.onOptionsItemSelected(item);
}
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

您可以简单地使用:

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true)

在工具栏上设置后退按钮。

在清单中:

<activity
    android:name="Your Second Activity"
    android:parentActivityName="Your First Activity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="Your First Activity" />
</activity>

最后使用:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) 
{
   NavUtils.navigateUpFromSameTask(this);
}

return super.onOptionsItemSelected(item);
}