Android : Access Context Of A Class Which Is Not An Activity?
Jan 28, 2009Can anyone tell me how to access context of a class which is not an activity?
View 10 RepliesCan anyone tell me how to access context of a class which is not an activity?
View 10 RepliesSo I'm defining a class that sets a Drawable attribute in an object. The problem is that I can't access the getResource().getDrawable(int resourceId) method unless I have some Context.
So what I did was to send to that class an activity instance (let's call it "act") and then I did:
act.getResources().getDrawable(R.drawable.whellchair)
but, when executing that line it throws a NullPointerException.
When idea how to accomplish this?
I have a class defined as
public class viewGroups extends ListActivity
Somewhere in the class I have
objItem = new clsContactGroups(context);
I am wondering what is advised to be used here? Which context?
I know four choices, but maybe there are others...
this
this.getApplicationContext()
this.getBaseContext()
this.getParent()
I use this Context to show a Toast. So I would like to show on the front-most view visible.
For example, I have an activity that uses a utility class. I would like to be able to start an activity from the utility class and have the activity result sent back to the utility class.
The only way I could think of starting the activity was to pass the original activity to the utility class, so that the utility class could use the original activity to start the activity. The problem with this is that the activity is sent to the original activity, rather than the utility class.
I also thought of actually making the utility class an activity itself, but that would make using the utility class much more complicated.
I'm new to Java and android development. In my application I need data which is accessible for a few activities. I've read that a good solution is to use Application class for this. So I use it like this:
public class MyApplication extends Application {
private String str;
public String getStr(){
return str;
}
public void setStr(String s){
str = s;
}
}
and I can access this variable from activity like this:........................................
I had come across a code snippet which calls for an activity without referring to any context. Before, i was considering that context is used to tell about the calling component. But as i came see that another component can be called without any reference to context, it makes me wonder what purpose it might be serving. please put some light on it.
Here is the code which calls for an activity without referring to 'context'
CODE:............................
I'm just getting into Android development, and I have a question about communicating between a receiver class and an activity class. I'm very new to JAVA and Android so I hope I don't sound too stupid. I'm developing an application where I intercept an SMS message and then based on various elements of that SMS I might delete it once it's been saved to the inbox. I have a receiver class that intercepts the txt message, and I am also able to delete messages from my inbox with code in the activity class using a button at the moment. The problem I have is communicating between the receiver class and the activity class where the code to delete a message resides. I tried putting that code directly into the receiver class but as I'm sure most of you already know the BroadcastReceiver class doesn't seem to support what I need to delete messages. I've been searching for an answer to this for a while, but haven't been able to find anything. Honestly I'm not sure I know enough about JAVA and Android to even recognize a solution if I saw it.
View 2 Replies View RelatedI have just started android. I just want to know that how can i call activity class from other java class. i just want to pass class object to activity class.
public class GsonParser extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MagazineThread thread=new MagazineThread();
thread.start();
}
public GsonParser(JsonMagazineParser Obj)
{
}
}
and i am just doing like from other class. GsonParser obj=new GsonParser(this);passing obj to activity class.how can i achieve that.
Sometimes I need to provide a Context object to call specific functions, such as
Intent intent = new Intent(context, MyClass.class);
in order to start a service
context.startService(intent);
Or, provide a Context object to do a query
Cursor cursor = context.managedQuery(uri, projection, null, null, null);
If this is done in a UI class which extends Activity, that's fine.
However, If I want to create my own utility class (a singleton) that doesn't extend anything and call these functions, I don't have necessary Context object. Now my workaround is to pass an activity reference while initializing the utility class and have that reference to call those functions. I'm wondering what's the correct way to do that. It should not be reasonable to have every class to extends Context so that it can call those functions.
I am trying to get the value of a EditText in a dialog box. A the "*"'ed line in the following code, the safeNameEditText is null; i am assuming because the 'findVeiwById' is searching on the context of the 'AlertDialog.OnClickListener';
How can I get/change the context of that 'findViewById' call?
CODE:.................
I'm trying to handle exceptions at a global level. My understanding is that the only way to do this is with an UncaughtExceptionHandler. However, this reduces one to the primitive java file and network i/o packages. I'd like to be able to broadcast an intent or bind to a service. Is there some way to interact with the android packages to retrieve a context in a static manner? I could probably do some hack workaround with a thread local, weak-referenced context set at the time of the exception handler, but I'd rather avoid that nastiness.
View 4 Replies View RelatedAn activity can be called from existing activity through *startActivity(intent); *
Is t possible to call an activity from non Activity class ? and how?
This is a followup to this post: http://stackoverflow.com/questions/3897176/findviewbyid-in-a-subclassed-surfaceview-throwing-runtimeexception Based on Romain Guy's feedback (which I'll accept shortly as it is a solution), I'd like to obtain the calling Activity from within the View, so that I can use it to obtain the desired Text View resource. I don't see any methods in View that return Activity. What is the proper way to do this? Or is there a better alternative for working with TextViews from within another View context. Basically, I am calling setContentView(R.layout.xxx) in onCreate() (as usual), so I don't really have a way to pass in references to additional TextViews unless I awkwardly retrieve the View after setContentView and then make calls on it.
View 1 Replies View RelatedThis has me stumped, I was using this in Android 2.1-r8 SDK: Code...
View 1 Replies View RelatedI have implemented a ListView in my Android application.
I bind to this ListView using a custom subclass of the ArrayAdapter class. Inside the overridden ArrayAdapter.getView(...) method, I assign an OnClickListener. In the onClick(View v) method of the OnClickListener, I want to launch a new activity.
I get the exception:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
How can I get the context that the ListView (the current Activity) is working under?
i have dialog style activity android:theme="@android:style/Theme.Dialog"The menu appears about 50 px from the bottom of this dialog. So if activity screen is too small - it right in the middle of the screen. Is there any way to anchor menu to the bottom of the screen?
View 5 Replies View RelatedDoes someone know how to display images in an activity's context menu? I've tried setIcon(resId) and it doesn't work (although it does work in the Options Menu).
View 2 Replies View RelatedI have a need to capture some user input when an activity opens for the first time. I'm hoping to give the user a list of options to select from, which will be pulled in dynamically. I'll then store the selected value locally for future use. I'm not finding a way to do what I'm after and was wondering if anyone has run into this before and how they solved it.
Fantasy Football<http://chriswstewart.com/android-applications/fantasy-football/>- Android app for fantasy football fanatics and MFL owners Social Updater<http://chriswstewart.com/android-applications/social-updater/>- An easy way to send your status blast to multiple social networks
Is is bad practice to pass the Context to a constructor and save it as a private variable for internal use? The other option is to pass the Context as a parameter to methods that need it.
Which is the better option?
I have a feeling that passing to the constructor might result in memory leaks accidentally.
Please find the code sample below:
public class Abc extends Activity implements OnClickListener{
private ListView displayList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainlayout);
displayList =(ListView)findViewById(R.id.addressbooklistview);
addressbookAdapter = new CustomListAdapter(this,addressbookList);
displayList.setAdapter(addressbookAdapter);
registerForContextMenu(displayList);}
I am not able to invoke the context menu on long press. Please let me know any solution for the same.
I tried to create a edittextbox, and button next to it, in the status bar.! I created it and tried to launch the browser activity, when somebody enters a URL in the textbox & click that button.
I get runtime exception as below.Can anyone please help what is the issue with this exception ? I know that Status bar is not a seperate activity. It is part of 'PhoneWindow'.
CODE:.............................
I have list activity with custom array adapter and I can't to get context menu when make long press on list item.
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Why I do not see context menu? What I do wrong? How to get context menu with array adapter and ListActivity.
I had write two classes IntentA and IntentB in my application (Both are in same package and both extends Activity class). In IntentA class I had created one button on pressing that button controll is trsnfer to IntentB class. IntentB class also contain Button on pressing that control is transfer to IntentA class.
This work fines. Now I want to set value in IntentA class using putExtra method and access that value in IntentB class How should I do that? I had put value in class IntentA like
Intent i1 = new Intent(this,IntentB.class);
i1.putExtra("Intent Name", "IntentA");
startActivity(i1);
Now I don't know How to access "Intent Name" value in IntentB class.
I get an apk file from somewhere. I tried to install it the emulator successfully. (The emulator is built from the latest code in AOSP which should be cupcake or later). But I can't launch the application from the GUI. It complains "The application xxx has stopped unexpectedly." After checking the logcat, I find the message "access to class not allowed". It seems that that process is not allowed to instantiate the Activity class.
Since I can install the apk successfully, I am curious why I can't launch it as a user.
BTW, I tried two ways to install the app. 1) by copying it to /system/ app and rebuild the system.img 2) by using "adb install". Both getting the same error message.
I tried to extract the AndroidManifest.xml file from the apk. But it seems that the file is scrambled and can't read.
In a typical Android project you have the res/drawable directories where you can put images but i have some special custom binary files.
where do I usually put them and can i access them via the R-class then?
Can a core class such as "AbsListView" access resources, such as xml files, and .png's, in a 3rd party app installed in the normal way (at the app level)?
I realize this is a change in framework code, and that is fine for my purposes. So, for example, if I know that I am going to install an app called "MyApp", could I go into frameworks/base/core/java/android/ widget/AbsListView.java and tell it to use an xml file and .png's that live in that app? Here is the line I would want to modify: setSelector(getResources().getDrawable( com.android.internal.R.drawable.list_selector_background));
Is it possible to access the content resolver methods in a class extending from AppWidgetProvider class? Have been trying to do it with no luck so far.
View 3 Replies View RelatedCode...
How do I access to the string 'Icon List' given IconListActivity.class?
I have three classes one main-activity(named MainMap), one non-activity class(named MyItemizedOverlay), and one activity class(named AudioStream). I want to start AudioStream activity from non-activity class but i don't know how to.
View 1 Replies View RelatedI have an activity class(Application Class ) which calls a service class(Service Class) and closes. The service class takes about 5 seconds to complete its task and calls a method which is present in another class(Callback Class). Now according to the result, the callback needs to notify the Application class.Once i get the callback from the service, I tried calling a method defined in the Application class. In this method i create a new intent of Application class and call startActivity(Application Class). But this is not working. Can anyone tell where i am going wrong and what can I do to solve this issue.
View 5 Replies View Related