我的Android应用中的选项菜单中有偏好设置。 我在 ActionBar 上启用了Up \ Back导航,我需要回到上一个调用Options菜单的活动。 对于Preference活动,我可以在清单中使用:
机器人:parentActivityName = “mypackage.com.MainActivity”
但是如何回到其他活动?选项菜单从4个不同的活动中调用。
public class Prefs extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
ActionBar actionBar = getActionBar();
// Enabling Up / Back navigation
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
答案 0 :(得分:1)
确保您已在清单中声明父活动,如此...
<activity
android:name="com.myapp.SetPreferenceActivity"
android:parentActivityName="com.myapp.MainActivity"
>
然后确保将案例添加到onOptionsItemSelected方法...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
//Take me back to the main activity
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
如果您希望将向上按钮指向自定义活动,则可以使用意图。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
Intent changeActivity = new Intent(this,OtherActivity.class);
startActivity(changeActivity);
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
“后退”按钮的默认行为是它会让您返回到调用活动。当用户导航应用程序时,系统维护一系列活动。你需要覆盖这个功能吗?请更具体一点。
答案 2 :(得分:0)
以这种方式解决:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
}
return true;
}