Android:点击时打开设置

时间:2014-07-09 16:17:19

标签: android

我正在尝试弄清楚如何在用户点击默认设置菜单项时显示Android中的PreferencesActivity。我已经按照本教程http://www.javacodegeeks.com/2011/01/android-quick-preferences-tutorial.html进行了操作,效果很好。但显示的第一件事是设置页面,因为清单是

<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>

现在,如果我将其移到我的主要活动之下(因此MainAcivity是第一个),那么MainActivity首先出现在我的应用程序中,但我无法通过菜单访问QuickPrefsActivity。

我是否需要添加菜单监听器才能打开QuickPrefsActivity?

2 个答案:

答案 0 :(得分:0)

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.w(TAG, "onOptionsItemSelected");
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        Intent intent = new Intent(this, QuickPrefsActivity.class);
        startActivity(intent);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

答案 1 :(得分:0)

你不需要在Manifest中定义代码,就像你在这里提到的那样,只是声明为普通的Activity

<activity android:name="your.package.QuickPrefsActivity" />

和java代码

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.settings) {

            Intent intent = new Intent(this, QuickPrefsActivity.class);
            startActivity(intent);
            return true;
}