PreferenceActivity与“设置”无关

时间:2013-12-16 23:58:27

标签: android android-layout

我有一个简单的PreferenceActivity类,它的onCreate将我的R.xml.preferences屏幕传递给((PreferenceActivity)super).addPreferencesFromResource。最后,在我的AndroidManifest.xml中,我的活动如下:

<activity android:name="com.criticalrf.jwalkietalkie.PreferenceServerActivity" >
    <intent-filter>
       <action android:name="android.intent.action.MANAGE_NETWORK" />
       <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

在设备上,菜单按钮将触发仅包含“设置”字样的菜单。单击“设置”使“设置”按钮消失,但不显示任何内容。我需要在MainActivity中添加一些内容吗?我跟着这个guide,我不确定我错过了什么。

1 个答案:

答案 0 :(得分:1)

如果您想从主要活动中打开此偏好设置活动,则应在MainActivity中的某处调用:

startActivity(new Intent(this, PreferenceServerActivity.class));

将显示偏好活动。

典型的实现方式是使用选项菜单。像:

    private static final int SettingsId = 1;

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        menu.add(0, SettingsId, 0, "Settings");

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case SettingsId:
                startActivity(new Intent(this, PreferenceServerActivity.class));
                return true;
            default:
                return false;
        }
    }

教程清单中的Intent过滤器只是说,当用户浏览应用程序的数据使用时,可以从系统设置打开此活动。