2011-04-10 136 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