Получить пользовательские атрибуты для стандартного представления - PullRequest
1 голос
/ 25 августа 2011

Я определил пользовательский атрибут Attribut testAttribute для EditText и применил его в макете. Он компилируется, как и ожидалось, поэтому я думаю, что он доступен.

<EditText android:layout_width="wrap_content"   
cst:testAttribute="true"
android:layout_height="wrap_content"></EditText>

Знаете, мне нужно программно читать атрибут testAttribute в моем действии, которое я не знаю, как это сделать. Я знаю, как сделать это в пользовательском представлении, но мне нужно это в стандартном представлении.

Есть идеи по этому поводу?

1 Ответ

0 голосов
/ 09 декабря 2011

в вашем пользовательском представлении вы делаете следующее:

    public MyCustomView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle); 

            final TypedArray a = context.obtainStyledAttributes(attrs,  R.styleable.MyCustomView, defStyle, 0);
            // the default value is true
            // get the custom value progammatically
            testAttribute = a.getBoolean(R.styleable.MyCustomView_testAttribute, true);

           // make sure to recycle
           a.recycle();
    }

Надеюсь, это помогло

...