What is the difference between
setContentView(R.layout.main);
and
ArrayAdapter arrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item, sarray);
What is the difference between R.layout
and android.R.layout
?
In Android R is an Java-class that is auto-generated from your resources by the build process. The R. layout member is a auto-generated class that contains all IDs for layouts.
A layout defines the structure for a user interface in your app, such as in an activity. All elements in the layout are built using a hierarchy of View and ViewGroup objects. A View usually draws something the user can see and interact with.
simple_list_item_2 are layout which is define in android itself. in android. R. layout. simple_list_item_1 only contain only one textview but android.
layout. main - is an integer number implemented in nested layout class of R. java class file. At the run time device will pick up their layout based on the id given in setcontentview() method.
R.layout.*
are layouts you provide (in res/layout, for example).
android.R.layout.*
are layouts that ship with the Android SDK.
R.layout
denotes the resources which are provided by your application. All the variables, resource files (drawable, string, layout etc) which are defined by your application can be accessed by R.
Example R.layout.*, R.drawable.*, R.id.*, R.color.*
, etc
But android.R
denotes the resources of your android SDK. all the resources which are not defines by you but are defined by android SDK will be available to you if you use android.R
ArrayAdapter arrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item, sarray);
here you have not defined an xml named simple_spinner_dropdown_item
R.layout.main
denotes there an xml file whose name is main in your layout directory
Thanks Deepak
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With