Android中@id和@+id及@android:id的區別介紹
前言
昨天突然有新來的同事問我這個@id 和@+id 的區別 ,為什麼 我們的專案都是@id 自己新增的ui 使用的@+id
這裡說下我的簡單的回覆專案是維護的之前的是為了統一管理使用了@id 方便修改 ,因為在ids.xml 裡面有引用,@+id 是新增了,沒有那樣寫,感覺有點麻煩,不過為了統一最後自己又修改為了@id,可能這些說的有些模糊 ,下面是自己整理的一些
知識,方便查詢
首先我們需要知道我們平時使用的id 是int 型別的
1 @+id :
我們經常使用的當修改完某個佈局檔案並儲存後,系統會自動在R.java檔案中生成相應的int型別變數。變數名就是“/”後面的值
例如 android:id="@+id/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區別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!