我是Android开发和项目工作的初学者, 我试图访问onclick listner中的全局变量但我显示错误。 这是Global Class
public class GlobalClass extends Application{
private String globalUrl;
public String getGlobalUrl() {
return globalUrl;
}
public void setGlobalUrl(String globalUrl) {
this.globalUrl = globalUrl;
}
}
这是我的主要活动类,它在getApplication()上显示错误, 我想在活动类和简单类中使用My全局变量。
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");
}
});
}
如何删除此错误... 提前谢谢
答案 0 :(得分:1)
只需写下:
MainActivity.this.getApplication()
而不是
this.getApplication()
如果您在View.OnClickListener中调用this
,则会引用View.OnClickListener。
答案 1 :(得分:1)
写下这一行,将值放在全局类变量
中替换你的代码
((GlobalClass) this.getApplication()).setGlobalUrl(url);
使用以下代码
GlobalClass temp=new GlobalClass();
temp.setGlobalUrl(url);