我有一个简单的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,我不确定我错过了什么。
答案 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过滤器只是说,当用户浏览应用程序的数据使用时,可以从系统设置打开此活动。