我已經閱讀了大量的Android文檔,我還沒有找到任何聲明「@ + id」的id值前綴的含義。我知道什麼是「@string」及其意義的變體,而不是「+」的變體。除了給我答案之外,你能告訴我在Android文檔中哪裏有文檔記錄嗎?「@ + id」是什麼意思?
12
A
回答
39
加號只是表示如果ID不存在,應該創建該ID。
這是常見的做法是在佈局中定義一個新的視圖時使用@+id/foo
,然後用@id/foo
從佈局的另一部分引用視圖(比如說,在一個RelativeLayout的層次)或R.id.foo
從代碼中引用它。
UPDATE:文檔是在這裏:Declaring Layout - Attributes - ID
3
這對於一個Android XML佈局元素鏈接到你的Java代碼的語法。所以如果我想在TextView中顯示文本,我必須這樣做。
步驟一 - 定義佈局
<TextView
android:id="@+id/SaveResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SaveResult"
android:layout_x="16px"
android:layout_y="190px"
>
</TextView>
然後,在代碼中,我使用@ + id來佈局鏈接到該變量。將@ + id想象成數據庫中的外鍵。
TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult);
現在,它已經可以使用了。當我將文本分配,它使用@ + id來看看把它放在哪裏,而且顏色,大小等。
lblSaveResult.setText("This text is now on the screen");
很抱歉,但我不知道在哪裏的文件是這個...
1
當您引用XML中的任何資源對象時,at符號(@)是必需的。它後面是資源類型(在這種情況下是id)。
只有當您第一次定義資源ID時,才需要資源類型前的加號(+)。編譯應用程序時,SDK工具使用ID名稱在項目的gen/R.java文件中創建新的資源ID,該文件引用UI元素。使用這種方法聲明資源ID時,對ID的其他引用不需要加號。只有在指定新資源ID並且不需要字符串或佈局等具體資源時才需要使用加號。
0
加號表示您正在創建一個不存在的新ID。例如「@ + id/xyz」。如果您編寫「@ id/xyz」,則表示您正在引用佈局另一部分的視圖。
相關問題
- 1. @string&@ + id是什麼意思?
- 2. Post.all.map(&:id)是什麼意思?
- 3. id是什麼意思?
- 4. 是什麼意思:是什麼意思?
- 5. view($ id = null)這是什麼意思?
- 6. Objective-C屬性 - 「id」是什麼意思?
- 7. Hadoop作業ID是什麼意思?
- 8. %{}是什麼意思?
- 9. '#'是什麼意思?
- 10. 「?」是什麼意思?
- 11. #{...}是什麼意思?
- 12. || =是什麼意思?
- 13. @是什麼意思
- 14. $$ $$是什麼意思?
- 15. `/ * @`是什麼意思?
- 16. 「=」是什麼意思
- 17. + =是什麼意思?
- 18. {..} [..]是什麼意思?
- 19. 什麼是:!:意思?
- 20. @ []是什麼意思?
- 21. 什麼是「||」意思?
- 22. /([^.]*)\.(.*)/是什麼意思?
- 23. &**是什麼意思?
- 24. @(...)是什麼意思?
- 25. &@是什麼意思?
- 26. 「\\。\」,「\ ?? \」,「\\?\」,「\\」是什麼意思?
- 27. &=是什麼意思?
- 28. {%=%}是什麼意思?
- 29. 是什麼意思?
- 30. %%是什麼意思?