在我的应用中,我有PreferenceActivity
,其中包含PreferenceFragment
,其中包含从addPreferencesFromResource(...)
的XML文件添加的首选项。首选项层次结构如下所示(稍微简化):
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/pref_header_general">
<PreferenceScreen
android:title="My team"
android:key="button_my_team_settings_key">
<EditTextPreference
android:title="Set team number"
android:key="@string/preference_my_team"
android:persistent="true"
android:inputType="number"/>
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
从我的应用中的其他地方,我想在我的偏好中链接到特定的PreferenceScreen
,特别是&#34;我的团队&#34;。 Android平台本机是否支持此功能?或者我是否必须通过意图发送所需的PreferenceScreen
,然后手动处理切换到相应的屏幕?
答案 0 :(得分:0)
您可以从其他地方发送意图来执行相同的操作,但您必须进行一些更改。首先,在单独的 xml 文件中创建一个新的 Fragment 类,其中包含以下内容:
<PreferenceScreen
android:title="My team"
android:key="button_my_team_settings_key">
<EditTextPreference
android:title="Set team number"
android:key="@string/preference_my_team"
android:persistent="true"
android:inputType="number"/>
</PreferenceScreen>
(我已经从您自己的代码中提取了这一部分。)
接下来,在您的代码中,对于根首选项屏幕,将内部 PreferenceScreen
替换为以下内容:
<Preference
android:title="My Team"
app:fragment="com.packagename.FragmentClassYouMade"/>
现在,您可以链接到 Fragment 而不是 Subscreen。同一 Activity 中的 Fragment 可以轻松显示在其他地方。