Подтвердить что ты не робот

Разница между R.layout и android.R.layout

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

   setContentView(R.layout.main);

и

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

R.layout обозначает ресурсы, которые предоставляются вашим приложением. Все переменные, файлы ресурсов (drawable, string, layout и т.д.), Которые определяются вашим приложением, могут быть доступны R.

Пример R.layout.*, r.drawable.*, R.id.*, R.color.* etc

Но android.R обозначает ресурсы вашего SDK для Android. все ресурсы, которые не определены вами, но определены с помощью 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, имя которого является основным в вашем каталоге макета

Спасибо Дипак

Ответ 3

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