Android - новый MainActivity () отдыхает переменными - PullRequest
0 голосов
/ 13 сентября 2018

Почему, когда мне нужно получить доступ к переменной или задать ее в другой операции, она сбрасывает ее, когда я иду

new MainActivity()

например, я получаю ввод в SecondActivity и хочу установить переменную в MainActivity

String input1 = editText.getText().toString();
int input=Integer.parseInt(input1);
MainActivity ma = new MainActivity();
ma.setTableNumber(input); 

но когда я иду, чтобы получить его в ThirdActivity, это снова 0

int a = Interget.toString(new MainActivity().getTableNumber());

есть ли способ избежать необходимости ходить new MainActivity() каждый раз?

вот как я перехожу из MainActivity в SecondActivity между прочим

Intent loadTableNumberScreen = new Intent(MainActivity.this, TableNumber.class); startActivity(loadTableNumberScreen);

Если это вообще поможет

1 Ответ

0 голосов
/ 13 сентября 2018

Подход, который вы пробуете, является избыточным и очень плохой практикой. Когда вы звоните new Activity(), вы просто создаете новую ссылку. Вы не сохранили ссылку, которую вы указали при вызове new Activity, вы должны сохранить эту ссылку в переменная. Но вместо этого вы можете использовать одноэлементный класс или сделать некоторые статические переменные в своей деятельности для доступа к ним глобально в вашем приложении.

...