Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is better android.R or custom R?

When I started developping android applications, I had a tendency to define custom R values wherever I need, in particular in layout files. For instance:

findViewById(R.id.customerName).setText(customer.getName())

with layout:

<TextView android:text="TextView" android:id="@id/customerName"
    android:layout_height="wrap_content" android:layout_width="fill_parent" />

Now I realize, it might be better to use android.R instead.

findViewById(android.R.id.text1).setText(customer.getName())

with layout:

<TextView android:text="TextView" android:id="@android:id/text1"
    android:layout_height="wrap_content" android:layout_width="fill_parent" />

What practice do you follow? What are the advantages and disadvantages of each?

like image 292
rds Avatar asked Aug 16 '11 18:08

rds


People also ask

What does R stand for in Android?

R is a class containing the definitions for all resources of a particular application package. It is in the namespace of the application package. For example, if you say in your manifest your package name is com. foo. bar , an R class is generated with the symbols of all your resources in com.

What is the difference between edit text and text view?

EditText is used for user input. TextView is used to display text and is not editable by the user. TextView can be updated programatically at any time.


1 Answers

android.R is meant for utilizing resources built in to the operating system.

There are many images/layouts/etc... that come with the operating system that you can just reference using android.R

if you are referencing your own resources that you have created, most always use R. and in most situations I recommend trying to stay away from the built in resources as they change version to version.

like image 95
jondavidjohn Avatar answered Sep 28 '22 15:09

jondavidjohn