3

attrs.xmlファイルに属性を作成します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="Custom">
        <attr name="src" format="integer" />
    </declare-styleable>
</resource>

そして私のコードでは、次のような属性の値を取得します。attrs.getAttributeIntValue( "mynamespace"、 "src"、-1);

できます。レイアウトxmlファイルから「src」の値を取得します。しかし、私の質問は、なぜandroidがRクラスに値を生成しないので、Javaコードで文字列'src'を再度使用する必要がないのですか?

4

1 に答える 1

5

代わりにTypedArray

public CustomView(final Context context) {
    this(context, null);
}

public CustomView(final Context context,
            final AttributeSet attrs) {
    this(context, attrs, 0);
}

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

    final TypedArray a = context.obtainStyledAttributes(attrs,
                R.styleable.Custom, defStyle, 0);

    int src = a.getInt(R.styleable.Custom_src, 0);

    a.recycle();
}
于 2012-04-13T04:48:11.880 に答える