在Android中获取样式化的属性枚举名称

时间:2018-08-14 19:17:25

标签: android attributes

我的片段有一个属性,它的值可以是枚举值之一。

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)
        // .........
    }
}

问题是我得到属性的value01等),但是我需要有一个名称(app1,{{1 }}等)

除了从这样的app2中复制枚举之外,是否有其他方法可以获取它

attrs.xml

0 个答案:

没有答案