完成/关闭偏好活动/片段

时间:2012-09-28 19:25:35

标签: android android-4.0-ice-cream-sandwich

我使用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。

2 个答案:

答案 0 :(得分:1)

我所做的是在我的每个偏好活动中注册BroadcastReceiver,而它所做的就是致电finish()。当我想关闭设置时,我会发送带有该操作的广播。

答案 1 :(得分:0)

我所做的就是致电

NavUtils.navigateUpFromSameTask(getActivity());

我在片段中更改了一个设置,例如am OnPreferenceChangeListener。

您还需要在manifest.xml

中设置谁是PreferenceActivity父级