Разница между 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 ?

Solutions Collecting From Web of "Разница между R.layout и android.R.layout"

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

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

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, имя которого является основным в вашем каталоге макета

Благодарю Дипака

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