点击PreferenceHeader时显示片段?

时间:2014-06-28 21:36:39

标签: android android-fragments

我一定错过了什么。有什么方法可以在header内点击PreferenceActivity时简单地推送一个新片段(只是一个标准的Android片段)?

例如,我想在用户点击时显示我创建的自定义数字选择器视图{/ 1}}:

Fragment

这样我就可以在应用的其他部分(<header android:id="@+id/preferences_date_time" android:fragment="com.xxx.appname.view.settings.DateTimeFragment" android:icon="@drawable/menu_icon_date" android:title="@string/pref_date_time" > </header> Dialog内等)显示此片段。

片段的定义很简单:

Activity

请注意,我的问题的关键是我只想在点击标题时显示一个普通的旧片段,而不是任何首选片段类型。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

据我所知,点击Fragment时无法显示任意PreferenceHeader

我所做的是启动一个托管我想要显示的片段的活动:

<header
    android:id="@+id/preferences_date_time"
    android:icon="@drawable/menu_icon_date"
    android:title="@string/pref_date_time" >
    <intent
        android:action="android.intent.action.MAIN"
        android:targetClass="com.xxx.appname.view.settings.DateTimeActivity"
        android:targetPackage="com.xxx.appname" />
</header>

确保您的Activity列在AndroidManifest.xml中,否则将无法找到:

<activity
    android:name="com.xxx.appname.view.settings.DateTimeActivity"
    android:label="@string/date_time_picker_title"
    android:parentActivityName="com.xxx.appname.view.settings.SettingsActivity"
    android:theme="@style/PreferencesTheme" >
</activity>

这样我就可以在我的设置菜单中使用我的Fragment以及应用中所需的任何其他内容。