自定义属性用于DialogPreference

6

我创建了一个新的TimeDialogPreference,它继承自DialogPreference

preferences.xml中,我有以下内容:

<info.chrzanowski.project.preference.TimeDialogPreference
    android:key="recordTime"
    android:id="@+id/recordTime"
    android:title="title"
    android:summary="summary"
    step="5"
    />

我该如何从TimeDialogPreference类中访问step属性?
2个回答

8

这些属性将传递给您自定义首选项的构造函数:

查看AttributeSet类,以了解其他挖掘值的方法,例如:

public TimeDialogPreference(Context context, AttributeSet attrs) {
    super(context, attrs);

    for (int i=0;i<attrs.getAttributeCount();i++) {
        String attr = attrs.getAttributeName(i);
        String val  = attrs.getAttributeValue(i);
        if (attr.equalsIgnoreCase("step")) {
            Log.i("TimeDialogPreference", "step = "+val);
        }
    }
}

难道不可以不用循环所有属性吗? - hsz
1
AttributeSet文档在这里:http://developer.android.com/reference/android/util/AttributeSet.html - slund
attrs.getAttributeValue(null, "step") - intrepidis

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接