0

我想将我的应用程序的“家庭”活动声明为活动。现在,我可以使用在每个活动中设置主页按钮的操作

public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        Intent i = new Intent(getApplicationContext(),
                HomeScreen.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(i);
    }
    return true;
}

我已经在清单中声明了我的 HOME 活动

<activity
        android:name=".HomeScreen"
        android:label="@string/app_name"
        android:theme="@style/Theme.Sherlock" >

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.LAUNCHER" />
</activity>

我还使用启用了 actionBar 的 showHome 选项

<style name="ActionBarCustom" parent="@style/Widget.Sherlock.ActionBar">
    <item name="android:displayOptions">showHome|showTitle</item>
    <item name="displayOptions">showHome|showTitle</item>
    <item name="android:logo">@drawable/arrow_icon</item>
</style>

现在,当我从未指定的活动中单击主页按钮时

getSupportActionBar().setHomeButtonEnabled(true);

具体来说,它没有显示按钮已被单击的指示。我想要我的主页按钮的默认操作。如果我是对的,我知道我错过了一件非常小的事情。我在堆栈溢出和 developer.android 上经历了很多事情,但都是徒劳的。有人可以帮忙吗?我想为主页按钮设置默认操作。

此外,我可能还想使用 showCustom 设置自定义操作栏,但我想在一个地方为另一个按钮(我想在操作栏中设置)定义一个默认操作,而不是在每个活动中指定它)。

(我在 android 2.2 上测试。)

4

2 回答 2

0

你错过了

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
于 2013-07-06T07:50:21.130 回答
0

创建一个名为 BaseActivity 的 Activity。

现在派生您想要功能的所有活动并在那里覆盖 onOptionsItemSelected

于 2014-06-03T11:19:37.107 回答