I have a main activity, and it summons another activity to display some data.
I have a private database helper object that I use throughout the main activity code. Is there a way to pass the context of my main activity to my sub activity in an elegant way? (ie, from subclass, something like getCallingActivityContext()
)
I could always create new database helper objects.
You can create a method like setContext(Context context) in your DataBase Helper class to pass your context from your activity. Show activity on this post. You can get the context if you do getApplicationContext(); from your activity and pass that to your DBHelper class.
This example demonstrates how do I pass data between activities in android. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main.
There is no way to pass the context to the target activity using Intent.
It is used to return the Context which is linked to the Application which holds all activities running inside it. When we call a method or a constructor, we often have to pass a Context and often we use “this” to pass the activity Context or “getApplicationContext” to pass the application Context.
Extending the Application class helps you to allow declare/access global variables. You can set your variables from any activity to ApplicationContext
and access it from other activity without using bundle.
How to declare global variables in Android? will help you.
For your case, I would recommend you to extend instead the Application class. All your activities have access to the Application context by calling getApplicationContext() at any time. Check here the 1st answer for an example.
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