ArrayAdapter arrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item, sarray);
В чем разница между R.layout и android.R.layout?
Ответ 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, что означает, что они предопределены.