android - 使用自定义 com.android.internal.R.layout.preference

标签 android layout preference

有没有办法设置android.preference.Preference的layoutResId?我需要用 ListView 以外的东西替换 com.android.internal.R.layout.preference。 (我想要另一个 View 中的 PreferenceActivity,并让它在该 View 中扩展首选项的层次结构,而不是仅显示默认的 ListView)。通过 PreferenceActivity 我可以获得 PreferenceManager,但是 PreferenceManager.getPreferenceScreen 是包私有(private)的。 PreferenceScreen.setLayoutResId 可以改成我想要的ResId,但是我拿不到。如果可以的话,改变这项工作是否有效,或者它会破坏事情吗?

最佳答案

您可以在 PreferenceActivity 上调用 setContentView,只要布局中某处有一个 ID 为 android 的 ListView .R.id.list(或来自 XML 的 @android:id/list)。这将是偏好膨胀的目标。只要满足此要求,您就可以随意添加任何其他 View 。

关于android - 使用自定义 com.android.internal.R.layout.preference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035324/

相关文章:

java - 如何从外部 APK 文件将签名读入 ByteArray

java - 是否有 MPI 的 android 实现?

javascript - 不能以编程方式设置 div 的最大高度

android - 如何在 Android 中以编程方式加载布局 XML 文件?

Android 撰写文本溢出重量不起作用

java - 使用 .java 的复选框首选项

flutter - 再次启动应用程序时如何使用共享首选项打开特定屏幕

android - 如何将全局变量从一个类获取到另一个类?

c# - FindViewById() 如何工作?

android - PreferenceActivity 中的变量