onclicklistener 中的全局变量

global variable in onclicklistner

我是 Android 开发和项目开发的初学者, 我试图在 onclick listner 中访问一个全局变量,但我显示了一个错误。 这是全局 Class

    public class GlobalClass extends Application{

private String globalUrl;

public String getGlobalUrl() {
    return globalUrl;
}

public void setGlobalUrl(String globalUrl) {
    this.globalUrl = globalUrl;
}
    }

这是我的主要 activity class,它在 getApplication() 上显示错误, 我想在 activity class 以及简单的 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");

   }
   });

}

如何消除这个错误... 提前致谢

随便写:

MainActivity.this.getApplication()

而不是

this.getApplication()

如果您在 View.OnClickListener 中调用 this,它指的是 View.OnClickListener。

编写此行以将值放入全局 class 变量

替换您的代码

((GlobalClass) this.getApplication()).setGlobalUrl(url);

使用以下代码

GlobalClass temp=new GlobalClass();
temp.setGlobalUrl(url);