我正在尝试创建一个 SettingsActivity 并使用 Fragment 扩展 PreferenceFragment 来实现这一点。我的活动正在显示,而首选项不是。
SettingsActivity.java
public class SettingsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
SettingsFragment.java
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
Toast ts = Toast.makeText(getActivity(),"Working",Toast.LENGTH_SHORT);
ts.show();
}
}
首选项.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="@string/prefsync"
android:title="@string/pre_name"
android:summary="@string/summary"
android:defaultValue="true" />
</PreferenceScreen>