2012-11-04 35 views
3

我有一個自定義的SeekBarPreference,它擴展了DialogPreference。我正在構建自己的佈局,但仍然使用父級的屬性。來自AttributeSet.getAttributeValue()的值不好()

<com.example.preference.SeekBarPreference 
    android:key="key" 
    android:title="title" 
    android:summary="summary" 
    android:dialogMessage="diag message" 
    android:text="text" 
    android:max="60" 
    android:defaultValue="30" /> 

在代碼段中,我檢索attr.getAttributeValue(androidDns,attrKey),像這樣

mText = attrs.getAttributeValue(androidns, "text"); 
mMax = attrs.getAttributeIntValue(androidns, "max", 30); 
... 

的事情是,在「多行文字」成員,我得到的東西像「@ 12341234」類文字,但'mMax'正在設置正確。

這怎麼可能?

回答

3

可能這有助於

context.getString(attrs.getAttributeResourceValue(androidns, "text", 0)); 
+0

清理項目。像上面的硬編碼工作。但是,如果選擇使用strings.xml作爲字符串的源,那麼您提出的解決方案就是答案。 這也是我一直在尋找的,所以謝謝! – Droritos