gpt4 book ai didi

java - 处理操作栏向上按钮的正确方法?

转载 作者:IT老高 更新时间:2023-10-28 21:13:43 25 4
gpt4 key购买 nike

我使用 ActionBarSherlock(尽管我认为这并不重要)。

我有一个主要 Activity 和一个关于 Activity 。我希望 About Activity 通过其 Logo 显示后向箭头,并执行适当的动画等。我不知道如何正确地做到这一点。

目前,我在 onOptionsMenuItemSelected 下可以在按下 Up/Home 按钮时启动 Main Activity ,但它很笨拙并且不能正常工作。它播放错误的动画,并且处理多任务处理很差。

如何正确设置?

这是我的主要 Activity 中启动 About 的部分:

Intent aboutIntent = new Intent(MainActivity.this, About.class);
MainActivity.this.startActivity(aboutIntent);

这是我的 About Activity :

package com.stevenschoen.test;

import android.content.Intent;
import android.os.Bundle;

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.MenuItem;

public class About extends SherlockActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case android.R.id.home:
// app icon in action bar clicked; go home
Intent intentHome = new Intent(this, MainActivity.class);
intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentHome);
return true;

default:
return super.onOptionsItemSelected(item);
}
}
}

最佳答案

你也试过这个吗(取自 Android 网站 here):

在 list 中,对于需要转到主 Activity 的每个 Activity X,将其添加到代码中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

以及它的 list xml 标记:

<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.activities.MainActivity" />

如果您仍需要在主要 Activity 上保持相同的状态,请改用此代码:

Intent intent = NavUtils.getParentActivityIntent(this); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
NavUtils.navigateUpTo(this, intent);

如果API是16或以上,可以添加属性parentActivityName使用主要 Activity 的路径而不是元数据。

关于java - 处理操作栏向上按钮的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11304483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com