1. 程式人生 > >Attribute "XXX" has already been defined

Attribute "XXX" has already been defined

碰到這樣奇葩的問題,我也是醉了 ,引發這個問題有兩種情況: 

一種:在atrr.xml檔案中定義了同一種屬性造成的.另一種:引入了不同的資源庫,恰好又在這兩個庫裡都寫了同一個屬性.

1.先來看看第一種情況,這個好解決  :  只需將力哥styleable裡的<atrr name="icon" /> ,並在資源的最外層定義<atrr name="icon" format="integer" />

 <declare-styleable name="A">

        <attr name="colorPressed" format="color"/>
        <attr name="colorNormal" format="color"/>
        <attr name="icon" format="reference"/>

        <attr name="size" format="enum">
            <enum name="normal" value="0"/>
            <enum name="mini" value="1"/>
        </attr>

 </declare-styleable>

<declare-styleable name="B">

        <attr name="colorPressed" format="color"/>
        <attr name="colorNormal" format="color"/>
        <attr name="icon" format="reference"/>

        <attr name="size" format="enum">
            <enum name="normal" value="0"/>
            <enum name="mini" value="1"/>
        </attr>
 </declare-styleable>

2.來看看第二種情況,可能一開始思路沒開啟 ,然後在stackoverflow上面看到了帖子的一個關鍵詞   "name" ,一下茅塞頓開  ,對! 沒錯

就是把其中的一個名字改了,尼瑪 著糾結的呀!!!   ok問題解決了