【发布时间】:2015-03-01 07:13:23
【问题描述】:
我开始在PreferenceFragment 中处理首选项。这是我所拥有的:
我正在尝试:
摆脱项目之间的分隔线。我想这可以从样式中定义,但我不知道如何。我试着得到 偏好
ListView在运行时调用findViewById(android.R.id.list),当我在某处读到时,但它 返回 null。在标题顶部设置新的 全宽 分隔符,如 here 所示。例如,在这种情况下,我希望在“Statistiche”上方有一个全宽分隔线,但不在列表顶部的“Generali”上方。
我想到的唯一方法是将分隔线设置为虚假偏好,例如:
<Preference
android:layout="@layout/divider" //here I set width and a divider resource
/>
<PreferenceCategory ... />
这里的主要问题是我的PreferenceFragment(或它所在的ActionBarActivity)有一些左/右填充,这使得我添加到preferences.xml中的任何分隔符不覆盖整个宽度。
所以我的问题是:
如何摆脱您在图片中看到的默认项目-项目分隔符?
如何在标题上方设置全宽分隔线,或者如何摆脱内部片段/活动填充?当然,我的活动布局没有任何(显式)填充。
【问题讨论】:
-
嗨,你得到答案了吗?如果有的话,你能帮忙解决一下吗?
-
@Naruto 简而言之,我使用了
list = findViewById(android.R.id.list),然后使用了list.setDivider(null)。为避免 NPE,您需要将此称为onResume而不是onCreate。至于其他问题,我今天会尝试发布完整的答案。 -
您好,谢谢您的回复。我使用的是片段而不是活动。即我的班级看起来像
public class SettingsFragment extends PreferenceFragment。那么在这种情况下我们该如何实现呢?任何帮助。 -
getview()返回 NULL,如果我像这样调用View rootView = getView(); -
@Naruto 在下面看到我的回答。
标签: android android-fragments android-listview android-preferences