Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to set all Listeners?

Where to set all Listeners for the user interfaces?
Is it good practice to set them in onCreate? This looks so unstructured and strange.
Is there a better place to set them?

like image 667
user2737037 Avatar asked Jan 18 '14 12:01

user2737037


1 Answers

From here: http://developer.android.com/reference/android/app/Activity.html

onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource defining your UI, and using findViewById(int) to retrieve the widgets in that UI that you need to interact with programmatically.

When you initialize your views, they are ready to be listened. onCreate is good callback to set listeners. In other way you can set it in onStart or onResume, but you should understand, that its bad practice, because onStart and onResume calls every time, when user see your activity. onCreate calls only when Activity is initialized. It is reason, why you should use onCreate. Actually, good practice implement method like initListeners() where you can put all you listeners logic.

Good luck!

like image 173
Ilya Demidov Avatar answered Sep 22 '22 21:09

Ilya Demidov