PreferenceFragment 没有出现在 Activity
PreferenceFragment does not show up in Activity
我遵循了 android 开发人员的指南 "settings"。但是当我启动我的 SettingsActivity 时,我得到的只是 白屏 。我做错了什么?
这是我的 SettingActivity.java
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
}
这里是SettingFragment
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
这是首选项文件
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference android:title="Your Name"
android:key="username"
android:summary="Please provide your username"></EditTextPreference>
<CheckBoxPreference android:title="Application Updates"
android:defaultValue="false"
android:summary="This option if selected will allow the application to check for latest versions."
android:key="applicationUpdates" />
<ListPreference android:title="Download Details"
android:summary="Select the kind of data that you would like to download"
android:key="downloadType"
android:defaultValue="1"
android:entries="@array/listArray"
android:entryValues="@array/listValues" />
</PreferenceScreen>
这就是我切换到 SettingsActivity 的方式
Intent intent = new Intent(MainActivity.this, SettingsActivity.class);
startActivity(intent);
白屏是应该发生的吗?我期待一个带有设置
的默认屏幕
我找到了解决方案。
屏幕不是空白的,我的主题是白底白字。
所以我刚刚为设置 activity 添加了一个自定义主题并将其添加到 android 清单:
android:theme="@style/SettingsTheme"
我遵循了 android 开发人员的指南 "settings"。但是当我启动我的 SettingsActivity 时,我得到的只是 白屏 。我做错了什么?
这是我的 SettingActivity.java
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
}
这里是SettingFragment
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
这是首选项文件
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference android:title="Your Name"
android:key="username"
android:summary="Please provide your username"></EditTextPreference>
<CheckBoxPreference android:title="Application Updates"
android:defaultValue="false"
android:summary="This option if selected will allow the application to check for latest versions."
android:key="applicationUpdates" />
<ListPreference android:title="Download Details"
android:summary="Select the kind of data that you would like to download"
android:key="downloadType"
android:defaultValue="1"
android:entries="@array/listArray"
android:entryValues="@array/listValues" />
</PreferenceScreen>
这就是我切换到 SettingsActivity 的方式
Intent intent = new Intent(MainActivity.this, SettingsActivity.class);
startActivity(intent);
白屏是应该发生的吗?我期待一个带有设置
的默认屏幕我找到了解决方案。
屏幕不是空白的,我的主题是白底白字。
所以我刚刚为设置 activity 添加了一个自定义主题并将其添加到 android 清单:
android:theme="@style/SettingsTheme"