Я использую Android Studio для проекта API 21 минимум,
У меня есть действие с текстовым полем и кнопкой, при нажатии которой я хочу, чтобы текст текстового поля был сохранен на весь срок службы приложения, я использую для этого глобальную переменную.
У меня есть переменная класса, которая расширяет приложение:
package com.example.user.variableglobale;
import android.app.Application;
public class Variable extends Application {
private String chiffre;
public String getChiffre() {
return this.chiffre;
}
public void setChiffre(String chiffre) {
this.chiffre = chiffre;
}
внутри моей главной:
final Variable VG = (Variable) getApplication();
final TestVar tV = new TestVar();
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tV.testVar(MainActivity.this);
VG.setChiffre(String.valueOf(txt.getText()));
}
});
и вот класс java, вызываемый кнопкой:
public class TestVar {
public void testVar(Context context) {
Variable VG = (Variable) context.getApplicationContext();
String temp = VG.getChiffre();
Toast.makeText(context.getApplicationContext(), "test java VG " + temp, Toast.LENGTH_SHORT).show();
}
}
Может кто-нибудь объяснить, как использовать глобальную переменную внутри класса Java?
Когда я нажимаю на кнопку, появляется тост со значением «null» для «temp» (кажется, не инициализировано).
В моем примере я попытался с «контекстом», но безрезультатно.