我在attrs.xml中设置了自定义属性,名称为custom_values,其中一个名为stageNumber。我有一个具有此自定义值的按钮,例如custom:stageNumber =“ 2”,其中包含一个名为goToStage的onClick处理程序。在goToStage方法中,我需要获取stageNumber的值。我无法获取方法getsStyledAttributes所需的AttributeSet。

public void goToStage(View view) {
    AttributeSet attrs = ???;
    TypedArray ta = view.getContext().obtainStyledAttributes(attrs, R.attr.custom_values);
    int stageNumber = ta.getInt(R.styleable.custom_values_stageNumber, 0);
    // do something with stageNumber
}


有什么建议可以解决这个问题吗?

最佳答案

您只能在扩展过程中从视图的构造函数或使用自定义属性扩展视图的layoutInflator中访问视图的属性。以后无法访问视图的属性。

关于android - 如何在onClick事件处理程序中访问AttributeSet以在getStyledAttributes中使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14384596/

10-10 10:11