Android 添加不推荐的首选项
我刚刚注意到,Android 添加不推荐的首选项,android,android-preferences,Android,Android Preferences,我刚刚注意到,addPreferencesFromResource()现在在Android中已被弃用。我试着寻找我现在应该使用的东西,而开发者网站仍然是这样。有人知道我应该用什么来代替吗?正如我在评论中指出的,只使用一个首选项活动仍然可以,但现在必须使用一个PreferenceFragment子类来完成。它看起来像这样: public class SetupActivity extends PreferenceActivity { @Override protected voi
addPreferencesFromResource()
现在在Android中已被弃用。我试着寻找我现在应该使用的东西,而开发者网站仍然是这样。有人知道我应该用什么来代替吗?正如我在评论中指出的,只使用一个首选项活动仍然可以,但现在必须使用一个PreferenceFragment子类来完成。它看起来像这样:
public class SetupActivity extends PreferenceActivity {
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
PreferenceManager.setDefaultValues(getActivity(), R.xml.preferences, false);
addPreferencesFromResource(R.xml.preferences);
}
}
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:key="rest_server"
android:defaultValue="@string/default_rest_server"
android:summary="@string/rest_url_desc"
android:title="@string/rest_url_title" />
<EditTextPreference
android:key="base_url"
android:defaultValue="@string/default_base_url"
android:summary="@string/base_url_desc"
android:title="@string/base_url_title" />
</PreferenceScreen>
然后将首选项存储在preferences.xml
中,如下所示:
public class SetupActivity extends PreferenceActivity {
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
PreferenceManager.setDefaultValues(getActivity(), R.xml.preferences, false);
addPreferencesFromResource(R.xml.preferences);
}
}
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:key="rest_server"
android:defaultValue="@string/default_rest_server"
android:summary="@string/rest_url_desc"
android:title="@string/rest_url_title" />
<EditTextPreference
android:key="base_url"
android:defaultValue="@string/default_base_url"
android:summary="@string/base_url_desc"
android:title="@string/base_url_title" />
</PreferenceScreen>