我使用preferenceActivy类来管理我的偏好。但我需要从片段中关闭整个首选项。源代码被剪切为最小的例子
public class VPNPreferences extends PreferenceActivity {
public boolean onOptionsItemSelected(MenuItem item) {
finish(); // This should close fragment + Preferences list
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.vpnpreferences_menu, menu);
return super.onCreateOptionsMenu(menu);
}
}
我使用新的3.2+ API,在桌面上显示为两列,在手机上显示为活动。菜单图标在列表和带有片段的活动上都可见。
当按下按钮按钮时,活动应该关闭,如果活动是从设置列表中调用的片段,则设置列表也应该关闭。不幸的是,finish()只关闭当前的片段Activity。
答案 0 :(得分:1)
我所做的是在我的每个偏好活动中注册BroadcastReceiver
,而它所做的就是致电finish()
。当我想关闭设置时,我会发送带有该操作的广播。
答案 1 :(得分:0)
我所做的就是致电
NavUtils.navigateUpFromSameTask(getActivity());
我在片段中更改了一个设置,例如am OnPreferenceChangeListener。
您还需要在manifest.xml
中设置谁是PreferenceActivity父级