为什么向上按钮的行为像返回?

Why is the Up button behaving like back?

一个。我做了什么:

  1. 我创建了一个新的应用程序(以确保我正在开发的应用程序中的代码没有任何错误导致了这种情况发生),其中包含 2 个活动:Activity 1(启动 activity)和 Activity 2

  2. 我在清单中添加了一行: android:parentActivityName=".Activity1"> 现在看起来像:

    <activity
        android:name=".Activity1"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Activity2"
        android:label="@string/title_activity_activity2"
        android:parentActivityName=".Activity1">
    </activity>
    
  3. Activity 1 有一个按钮用这个方法显示 Activity 2:

    public void goToPage(View v){
        Intent mainIntent = new Intent(Activity1.this, Activity2.class);
        Activity1.this.startActivity(mainIntent);
        Activity1.this.finish();
    }
    
  4. 运行 应用程序。按下按钮 --> 我已经从 A1 转到 A2。 然后我按下栏上的向上按钮并返回主屏幕!

  5. 我在 Activity 2 中将其添加到 onCreate:

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    

运行 代码,同样的行为。

我正在关注 android 的文档 (http://developer.android.com/training/implementing-navigation/ancestral.html)

感谢您的帮助

这是代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            break;
        }

    return true;
}

现在,如果 activity 中有父级 activity,则在向上按钮上堆叠会将用户带到父级 activity,否则它将作为后退。

因此,在您的情况下,请尝试在您的代码行后面添加注释。

Activity1.this.finish();