我的片段有一个属性,它的值可以是枚举值之一。
attrs.xml
<attr name="application_name">
<enum name="app1" value="0" />
<enum name="app2" value="1" />
<enum name="app3" value="2" />
</attr>
<declare-styleable name="MyFragment">
<attr name="application_name" />
</declare-styleable>
在我片段的onInflate
中,我得到了这样的属性
override fun onInflate(context: Context?, attrs: AttributeSet?, savedInstanceState: Bundle?) {
super.onInflate(context, attrs, savedInstanceState)
val styledAttributes = context?.obtainStyledAttributes(attrs, R.styleable.MyFragment)
styledAttributes?.hasValue(R.styleable.MyFragment_application_name)?.let {
val value = styledAttributes.getInt(R.styleable.MyFragment_application_name, -1)
// .........
}
}
问题是我得到属性的value
(0
,1
等),但是我需要有一个名称(app1
,{{1 }}等)
除了从这样的app2
中复制枚举之外,是否有其他方法可以获取它
attrs.xml