Разница между R.layout и Android.R.layout - PullRequest
14 голосов
/ 22 июня 2011

В чем разница между

   setContentView(R.layout.main);

и

ArrayAdapter arrayAdapter = new ArrayAdapter(this,
                android.R.layout.simple_spinner_dropdown_item, sarray);

В чем разница между R.layout и android.R.layout?

Ответы [ 4 ]

28 голосов
/ 22 июня 2011

R.layout.* - это макеты, которые вы предоставляете (например, в res / layout).

android.R.layout.* - это макеты, поставляемые с Android SDK.

4 голосов
/ 22 июня 2011

R.layout обозначает ресурсы, предоставленные вашим приложением.R. Все переменные, файлы ресурсов (отрисовка, строки, макет и т. Д.), Которые определены в вашем приложении, доступны для R.ваш Android SDK.все ресурсы, которые не определены вами, но определены andrdoi SDK, будут вам доступны, если вы используете android.R

ArrayAdapter arrayAdapter = new ArrayAdapter(this,
                android.R.layout.simple_spinner_dropdown_item, sarray);

здесь вы не определили xml с именем simple_spinner_dropdown_item

R.layout.main обозначает там xml-файл, имя которого является основным в вашей директории макета

Спасибо Deepak

2 голосов
/ 22 июня 2011

R.layout.* предоставляется в нашем приложении, которое разработано нами, тогда как android.R.* - это то, что поставляется с Android SDK, что означает, что они предопределены.

0 голосов
/ 12 сентября 2018
android.R.

используется для доступа к предопределенным классам с помощью Android SDK (макеты / рисунки)

R

используется для доступа к пользовательским классам (это означает, что их макеты / рисунки импортируются / создаются пользователем)

...