2011-07-28 37 views
0

我有一個自定義視圖,其中包含使用onDraw在其上繪製的幾個文本字段。在我的活動中有幾個視圖的實例。這些文本字段的數據存儲在一些字符串和整數數組中(我將它存儲在數組中,因爲我將在應用程序的其他部分使用數據)。從自定義訪問AttributeSet查看Java代碼

我的計劃是在XML中具有某種自定義屬性來傳遞一個整數,然後在Java端訪問它並將其用作數組的索引。因此,例如,array1[0]array2[0]array3[0]中的文本將用於查看其XML中的mynamespace:customattribute="0"

但是,在研究了四個小時的較好部分之後,我斷定自定義視圖的自定義屬性基本上是不可能的。我所能找到的唯一信息僅僅是引用XML,而不是如何通過代碼訪問它,或者它確實解釋了代碼,但引用了舊版本的SDK。

這是在駕駛着我。如果任何人都可以指引我正確的方向,或者如果你知道另一種做我正在做的事情的方法,我會永遠感激。

編輯:我已經開始嘗試使用android:tag做一些事情......如果我找出一種方法來處理它,我會發布我的答案。

其他編輯:我還不能回答我自己的問題,所以我會在這裏做。所以我在XML中添加了一個tag,並用getTag()訪問它。我將它轉換爲一個String,並從中解析出整數。我不能相信這是多麼簡單。對不起,沒有意義的問題....

回答

2

不是不可能的。你的屬性需要值/ attr.xml加以界定和您通過自定義視圖的構造函數訪問它們:

public MyCustomClass(Context context, AttributeSet attrs) { 
    ... 
    // Get an attribute 
    X var = attrs.getX(...); 
} 

疑問時只是看看Android的源,像View.java或TextView.java - 谷歌「View.java netmite」;)

+0

啊哈!那看起來很有希望我也會試一試。 –

+0

D'oh!這正是我期待的,非常感謝你! –