前言
昨天突然有新來的同事問我這個@id 和@+id 的區別 ,為什么 我們的項目都是@id 自己新增的ui 使用的@+id
這里說下我的簡單的回復項目是維護的之前的是為了統一管理使用了@id 方便修改 ,因為在ids.xml 里面有引用,@+id 是新增了,沒有那樣寫,感覺有點麻煩,不過為了統一最后自己又修改為了@id,可能這些說的有些模糊 ,下面是自己整理的一些
知識,方便查找
首先我們需要知道我們平時使用的id 是int 類型的
1 @+id :
我們經常使用的當修改完某個布局文件并保存后,系統會自動在R.java文件中生成相應的int類型變量。變量名就是“/”后面的值
例如 android:id="@+id/tv"
變量名為tv
2 @id 表示引用一個已經存在的ID,在R.java里面的,比如在res 里面的value 里面建了一個ids.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <item name="text_id_text" type="id" /> </resources>
我們的id 引用
<TextView android:id="@id/text_id_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="測試一次文字" />
個人感覺這樣做呢為了方便修改id 假如很多界面使用了相同的id 我們就可以這樣寫(維護的項目大約有30幾個界面使用相同的id)
3 @android:id 這個是引用系統的id 自己基本沒有使用過,簡單的了解
android:id="@+id/btn",表示在R.java文件里面新增一個id為btn的控件索引,最常用的一種聲明控件id的方式。android:id="@android:id/tabhost",表示引用的是系統已有的ID,在對應的sdk目錄下的ids.xml里面。一般外部不去調用,是組件內部調用的時候使用。.android:id="@id/btn" ,表示引用一個已經存在的ID,在R.java里面的,比如我們自己建了一個ids.xml,里面聲明了一組id,其中一個是btn,那么你就可以這樣引用了。
總結
到此這篇關于Android中@id和@+id及@android:id的區別的文章就介紹到這了,更多相關Android @id和@+id及@android:id區別內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。