我一定错过了什么。有什么方法可以在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
请注意,我的问题的关键是我只想在点击标题时显示一个普通的旧片段,而不是任何首选片段类型。
非常感谢任何帮助!
答案 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
以及应用中所需的任何其他内容。