在 API 15 及更高版本中使用 PreferenceActivity
Posted
技术标签:
【中文标题】在 API 15 及更高版本中使用 PreferenceActivity【英文标题】:Using PreferenceActivity in API 15 and later 【发布时间】:2021-03-29 18:02:28 【问题描述】:在我的 android 应用程序中,我想使用 PreferenceActivity
进行偏好活动,因为我正在处理 androidx
不可用的手机(PreferenceActivity
实际上直到 API 28 才被弃用)。然而,基本的方法addPreferencesFromResource()
,我看到几乎每个教程都在使用它,在 API 15 中已经被弃用了。这同样适用于其他方法。
如何在 API 15 到 28 中使用PreferenceActivity
?某处有教程吗,或者可以简要解释一下吗?谢谢!
【问题讨论】:
PreferenceFragment
***.com/questions/45066520/…
谢谢。但我不太明白***.com/a/45067104/10126596 的答案,因为它只包含一些代码sn-ps,并且似乎适合已经比我更了解这个主题的问题作者。答案***.com/a/51854023/10126596 似乎不合适,因为它使用PreferenceFragmentCompat
,根据developer.android.com/reference/androidx/preference/…,它是androidx
的一部分。
【参考方案1】:
我发现了。 Here 是一些旧 API 文档的链接。我抬头看了看docs-19_r02/docs/guide/topics/ui/settings.html#Fragment
:
public class ActivityPreferences extends Activity
protected void onCreate (Bundle savedInstanceState)
super.onCreate (savedInstanceState);
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace (android.R.id.content, new FragmentPreferences());
transaction.commit();
public class FragmentPreferences extends PreferenceFragment
public void onCreate (Bundle savedInstanceState)
super.onCreate (savedInstanceState);
this.addPreferencesFromResource (R.xml.preferences);
【讨论】:
以上是关于在 API 15 及更高版本中使用 PreferenceActivity的主要内容,如果未能解决你的问题,请参考以下文章
RecyclerView wrap_content 不适用于 API 23 及更高版本
Android Edittext 不能专注于 API 22(代码在 API 23 及更高版本上运行良好)
Android Api(Okhttps)未在android 9(pie)及更高版本中调用[重复]
如何以编程方式在 Android 的 API 23 及更高版本中获取位置(纬度、经度)?