2011-04-10 146 views
5

我创建了新的TimeDialogPreference,它扩展了DialogPreferenceDialogPreference的自定义属性

preferences.xml我:

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

如何从TimeDialogPreferencestep属性的访问?

回答

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); 
     } 
    } 
} 
+0

难道没有循环所有属性是不可能的? – hsz 2011-04-10 20:56:55

+1

AttributeSet文档在这里http://developer.android.com/reference/android/util/AttributeSet.html – slund 2011-04-11 02:43:23

+0

'attrs.getAttributeValue(null,“step”)' – 2018-03-02 19:31:26