程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-用 java 代碼獲得一個自定義屬性的值

android-用 java 代碼獲得一個自定義屬性的值

編輯:編程綜合問答
用 java 代碼獲得一個自定義屬性的值

我在 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'。

最佳回答:


使用 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();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved