有没有办法设置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 的
(或来自 XML 的 ListView
.R.id.list@android:id/list
)。这将是偏好膨胀的目标。只要满足此要求,您就可以随意添加任何其他 View 。
关于android - 使用自定义 com.android.internal.R.layout.preference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035324/