以编程方式关闭PreferenceScreen及其PreferenceActivity

时间:2015-02-25 09:13:35

标签: android preferenceactivity

情况如下:

  1. 从我的MainActivity我打开我的应用的PreferenceActivity;
  2. PreferenceActivity我有两个PreferenceScreens,另一个MenuItem带有一个图标,可以为结果启动另一个Activity。如果我输入任何PreferenceScreens图标仍然可见,那么我也可以从我当前的Activity开始新的PreferenceScreen

  3. 案例1 。如果我直接从Activity开始新的PreferenceActivity而没有进入任何子屏幕,那么 做它的工作,返回一个结果,然后我回到父母那里 PreferenceActivity。我确定我是否在 PreferenceActivity并调用finish()方法并返回我的帐号 MainActivity - 完成工作!

  4. 案例2。我输入了一个小孩PreferenceScreen,按下MenuItem图标,启动新的Activity,它完成了它的工作,给我一个回报结果,我回到了儿童屏幕。我确定如果我在PreferenceScreen并致电finish()。子屏幕已关闭,但与案例1 不同,我回到了我的父母PreferenceActivity。如何关闭父母并返回MainActivity

2 个答案:

答案 0 :(得分:0)

  

您可以完成ParentActivity然后启动Child Activity,然后启动您   完成你的孩子你将回到主要活动

或者

您可以在清单元数据中使用

 <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.in.class" />

答案 1 :(得分:0)

我明白了......我的PreferenceActivity有两个PreferenceScreens。所以要打开它,我使用screenPreference.setOnPreferenceClickListener()。在那个听众中,我只是打电话给PreferenceActivity.this.finish()。父母关闭,孩子被打开。已经在PreferenceScreen孩子中,我在案例2 中,所以当我致电PreferenceActivity.finish()时,子屏幕已关闭,父母也会直接导航到我的{{1} }}。 :)