Android-übergeben von Variablen zwischen den Aktivitäten

Möchte ich weitergeben eine oder mehrere Variablen zwischen den Aktivitäten in android. Eine Lösung ist die Verwendung von globalen Variablen, und es ist hier erklärt:
Android-Globale variable
das wiederhole ich hier:


Können Sie erweitern die Basis-android.app.Die Application-Klasse und hinzufügen von member-Variablen, etwa so:

public class MyApplication extends Application {

private String someVariable;

public String getSomeVariable() {
    return someVariable;
}

public void setSomeVariable(String someVariable) {
    this.someVariable = someVariable;
}
}

Dann in Ihre Aktivitäten, die Sie bekommen können, und setzen Sie die variable wie folgt:

//set
((MyApplication) this.getApplication()).setSomeVariable("foo");

//get
String s = ((MyApplication) this.getApplication()).getSomeVariable();

Ich dies nutzen wollen, und legen Sie eine Globale variable in einer meiner Tätigkeiten, wenn ein item in einem ListView-Steuerelement gedrückt wird. Also ich habe diesen code:

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          .
          .
          .

          ((MyApplication) this.getApplication()).setSomeVariable("foo");
        }

      });

Jedoch bekomme ich eine Fehlermeldung die sagt "Die Methode getApplication() ist nicht definiert für den Typ new AdapterView.OnItemClickListener(){}".

Ich würde gerne wissen, was ist der Grund, warum ich diesen Fehler bekommen und wie man es beheben, oder eine bessere Möglichkeit der übergabe einer variable von einer Aktivität zur anderen.

Dank,

TJ

InformationsquelleAutor TJ1 | 2011-07-16

Schreibe einen Kommentar