После получения переменной от другой активности с помощью метода у меня есть проблема с ее использованием для дальнейшего кодирования.Переменная не имеет значения
Я получаю переменную так:
public void setBank(String bank){
selectedBank=bank;
System.out.println(bank);
}
с проверкой Println, что я получил и «спасение» его в переменную selectedBank, которую я объявил в начале класса, как этот public String selectedBank="";
Целый код:
public class MyDatabase extends SQLiteAssetHelper {
private static final String DB_NAME = "bankomati_db.sqlite";
private static final int DB_VERSION = 1;
public String selectedBank="";
public MyDatabase(Context context){
super(context, DB_NAME, null, DB_VERSION);
}
public void setBank(String bank){
selectedBank=bank;
System.out.println(bank);
}
//other methods
}
Это не работает, когда я проверяю выбранный банк каким-то другим методом, это juts "".
Как я могу «сохранить» переменную из метода setBank, чтобы я мог использовать ее в других методах.
EDIT: Это мой метод, когда мне нужна моя переменная (selectedBank).
public List<String> getBankomatLocation(){
SQLiteDatabase db = getReadableDatabase();
//String [] sqlSelect={"0 _id", "Banka", "Naslov", "Posta", "Kraj"};
String [] sqlSelect={"0 _id", "Naslov"};
String sqlTables = "Bankomati_db";
System.out.println("selectedBank:" + selectedBank);
String [] args ={selectedBank};
List<String> bankomati = new ArrayList<String>();
Cursor c = db.query(false, sqlTables, sqlSelect, "Banka=?", args, null, null, null, null, null);
//Cursor c = db.query(false, sqlTables, sqlSelect, null, null, null, null, null, null, null);
if (c.moveToFirst()){
do{
bankomati.add(c.getString(1));
}while (c.moveToNext());
}
c.close();
db.close();
return bankomati;
}
Возможно ли, когда метод getReadableDatabase называется, он также устанавливает переменную в ""?
Убедитесь, что вы используете конкретный объект типа MyDatabase, и вы должны вызвать метод setbank, прежде чем проверять значение выбранного банка другими способами. – SoulRayder
Можете ли вы отправить код, в котором вы действительно используете этот класс? То, что у вас похоже, должно работать, поэтому я предполагаю, что вы используете его неправильно (или есть конфликт). – James
Вы должны убедиться, что (a) вы смотрите на один и тот же экземпляр, (b) он не был воссоздан самим Android на основе событий жизненного цикла приложения и т. Д. –