Проблема с передачей значения переменной
Работаю в Android Studio, приложение викторина. У меня каждый уровень прописан в отдельном классе. В классе первого уровня создал переменную, и за каждый верный ответ должно прибавляться к этой переменной по +1.
public int ver; // в начале класса
numOne.setOnClickListener ( new View.OnClickListener ( ) {
@Override
public void onClick ( View v ) {
try {
numOne.setBackground ( getResources ( ).getDrawable ( R.drawable.right_answer ) );
ver=0; // только в одном классе это прописано
ver++; // только в одном классе это прописано
// далее писал l1.ver++;
numTwo.setEnabled ( false );
numThree.setEnabled ( false );
Intent intent = new Intent ( SevenClassL1.this , SevenClassL2.class );
startActivity ( intent );
finish ( );
} catch ( Exception e ) {
}
}
} );
(так у меня прописано 8 уровней, и за каждый верный ответ к переменной ver прибавлялось по 1)
На последнем уровне обращаюсь к этой переменной и передаю значение этой переменной textview.
SevenClassL1 l1 = new SevenClassL1 ();
TextView verno = ( TextView ) findViewById ( R.id.verno );
verno.setText("Verno "+l1.ver);
Выводит 0. Что я делаю не так, и может ли это как то работать? (Опыта программирования на Java почти нет, если что. Учить вынудил школьный проект). Помогите :(
Ответы (1 шт):
Никакого обращения к переменной на последнем уровне нет. Вот здесь
SevenClassL1 l1 = new SevenClassL1 ();
создается новый объект класса, а не используется уже имеющийся. Образно говоря, вы записываете результаты в одну тетрадку, а потом хотите прочитать их из другой.