onclicklistner中的全局变量

时间:2015-07-17 07:14:34

标签: java android onclick global-variables onclicklistener

我是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");

   }
   });

}

如何删除此错误... 提前谢谢

2 个答案:

答案 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);