0

我正在使用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,它在表格上显示为两列,在手机上显示为单独的活动。菜单图标在列表和带有片段的 Activity 上都可见。

当按下按钮按钮时,活动应该关闭,如果活动是片段,则从设置列表中调用该设置列表也应该关闭。不幸的是,finish() 只关闭当前的片段活动。

4

2 回答 2

1

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

于 2012-09-28T20:32:57.730 回答
0

我所做的是打电话

NavUtils.navigateUpFromSameTask(getActivity());

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

您还需要在 manifest.xml 中设置谁是 PreferenceActivity 父级

于 2016-03-20T11:53:16.937 回答