如何在onClick事件处理程序中访问AttributeSet以在obtainStyledAttributes中使用?

时间:2013-01-17 17:22:18

标签: android android-view android-button

我在attrs.xml名称custom_values中设置了自定义属性,其中一个名为stageNumber。我有一个定义了此自定义值的按钮,例如custom:stageNumber =“2”,带有名为goToStage的onClick处理程序。在goToStage方法中,我需要获取stageNumber的值。我无法获取方法obtainStyledAttributes所需的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
}

有任何解决此问题的建议吗?

1 个答案:

答案 0 :(得分:3)

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