我知道如何更改标题中的颜色PreferenceCategory
。
public class PreferenceCategory1 extends PreferenceCategory {
public PreferenceCategory1(Context context) {
super(context);
}
public PreferenceCategory1(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PreferenceCategory1(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setTextColor(Color.rgb(238, 120, 30));
}
}
但我也想改变PreferenceCategory
下面的元素之间的分隔线。我试图抓住列表视图并使用 setDivider() 方法:
ListView v = (ListView)view.findViewById(android.R.id.list);
v.setDivider(new ColorDrawable(Color.rgb(238, 120, 30)));
list
但这会导致 NullPointerException ,因为它在 this 中找不到view
。我知道我可以在 xml 文件中设置它并将其添加为样式,但如果可能的话,我希望在 java 中执行此操作。有什么建议么?