Activity 的向上按钮导航到不同的活动
Activity's Up button to navigate to different activities
我有一个 activity MyActivity
,其工具栏中实现了标准向上按钮(屏幕左上角的向左箭头)。
这个 activity 的独特之处在于用户可以从我的应用程序中的多个活动导航到它。
我需要这个向上按钮指向用户来自的 activity(与 Android 后退按钮相同的行为)。
相反,它总是直接返回主页 activity,即使用户没有立即从那里返回,因为 AndroidManifest.xml
中的代码:
<activity
android:name="com.myapp.activity.MyActivity"
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myapp.activity.Home"
/>
如何覆盖此行为,以便 MyActivity
的向上按钮 returns 用户转到他来自的 activity 而不是总是主页 activity ?
替换为:
<activity
android:name=".MyActivity"
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
如果您不想回家,只需删除 meta-data 声明 parent activity activity。
<activity android:name="com.myapp.activity.MyActivity" />
或者您可以使用工具栏的 onNavigationClick 定义您自己的后退操作:
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//if you want to go one activity back then put onBackPressed() method
onBackPressed();
}
});
首先,用这个替换你的代码。
<activity
android:name=".MyActivity">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
其次,将一些代码添加到您的 "MyActivity" class。
1. 在 onCreate() 方法中,添加该行。
getActionBar().setDisplayHomeAsUpEnable(true);
2。实现onOptionItemSelected(),添加几行。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
super.onBackPressed();
}
return super.onOptionsItemSelected(item);
}
希望有用!
我有一个 activity MyActivity
,其工具栏中实现了标准向上按钮(屏幕左上角的向左箭头)。
这个 activity 的独特之处在于用户可以从我的应用程序中的多个活动导航到它。
我需要这个向上按钮指向用户来自的 activity(与 Android 后退按钮相同的行为)。
相反,它总是直接返回主页 activity,即使用户没有立即从那里返回,因为 AndroidManifest.xml
中的代码:
<activity
android:name="com.myapp.activity.MyActivity"
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myapp.activity.Home"
/>
如何覆盖此行为,以便 MyActivity
的向上按钮 returns 用户转到他来自的 activity 而不是总是主页 activity ?
替换为:
<activity
android:name=".MyActivity"
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
如果您不想回家,只需删除 meta-data 声明 parent activity activity。
<activity android:name="com.myapp.activity.MyActivity" />
或者您可以使用工具栏的 onNavigationClick 定义您自己的后退操作:
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//if you want to go one activity back then put onBackPressed() method
onBackPressed();
}
});
首先,用这个替换你的代码。
<activity
android:name=".MyActivity">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
其次,将一些代码添加到您的 "MyActivity" class。
1. 在 onCreate() 方法中,添加该行。
getActionBar().setDisplayHomeAsUpEnable(true);
2。实现onOptionItemSelected(),添加几行。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
super.onBackPressed();
}
return super.onOptionsItemSelected(item);
}
希望有用!