如何知道我们是在父PreferenceScreen中还是在嵌套的PrepreScreen中

时间:2014-05-14 12:40:17

标签: android android-fragments

我有一个settings.xml文件,如:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceScreen
        android:key="GeneralScreen"
        android:title="@string/generalParameters" >
        <EditTextPreference
            android:dialogTitle="@string/companyName"
            android:key="CompanyName"
            android:title="@string/companyName" />
        <EditTextPreference
            android:dialogTitle="@string/companyAddress"
            android:key="CompanyAddress"
            android:title="@string/companyAddress" />
    </PreferenceScreen>
</PreferenceScreen>

我有一个PreferenceFragment:

public class Settings extends PreferenceFragment {
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.settings);
....

如果我是嵌套的PreferenceScreen(甚至是多个嵌套的)

,我需要一个方法,如果1)我在父PreferenceScreen 2中返回

您知道找到该信息的方法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过调用PreferenceActivity

if(getPreferenceScreen() != null)

if(getPreferenceScreen().getTitle()!=null)

如果条件为真 - 您在PreferenceScreen

意识到此方法在API级别11中已弃用。 此功能与基于片段的现代PreferenceActivity无关。