Reputation: 438
I am a beginner in Android development and working on a project, I am trying to access a global variable in onclick listner but i show an error. Here is Global Class
public class GlobalClass extends Application{
private String globalUrl;
public String getGlobalUrl() {
return globalUrl;
}
public void setGlobalUrl(String globalUrl) {
this.globalUrl = globalUrl;
}
}
Here its my main activity class which shows error on getApplication(), i want to use My global variables in activity class as well as simple class.
public class MainActivity extends Activity {
Button Enter;
EditText textEdit;
TextView text;
String url;
private static String ur = "http://maps.google.com/maps/api/geocode/json?sensor=false&address=";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Calling Application class (see application tag in AndroidManifest.xml)
textEdit = (EditText)findViewById(R.id.postalText);
text = (TextView) findViewById(R.id.textViewme);
Enter = (Button)findViewById(R.id.button_Enter);
Enter.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
// Intent launchActivity = new Intent(MainActivity.this,jsonParsingActivity.class);
Intent launchActivity = new Intent(MainActivity.this,jsonParsingActivity.class);
startActivity(launchActivity);
url = ur+ textEdit.getText().toString();
((GlobalClass) this.getApplication()).setGlobalUrl(url);
System.out.println(url);
Log.v(url, "extended url");
}
});
}
How to remove this error... thanks in advance
Upvotes: 2
Views: 103
Reputation: 6460
Just write:
MainActivity.this.getApplication()
instead of
this.getApplication()
If you call this
in your View.OnClickListener it referes to the View.OnClickListener.
Upvotes: 1
Reputation: 721
Write this lines to place the value in global class variables
replace your code
((GlobalClass) this.getApplication()).setGlobalUrl(url);
with the below code
GlobalClass temp=new GlobalClass();
temp.setGlobalUrl(url);
Upvotes: 1