#java #android
Добрый вечер! Подскажите пожалуйста, как обратиться из метода Onclick(...) к ArrayList, который был создан в методе OnCreate(...)? Пока сделал так: OnCreate(...): ArrayListArrayl = new ArrayList<>(); for (int a = 1; a < 8; a++) { Arrayl.add(a); } Collections.shuffle(Arrayl);// перемешиваем в Onclick(...): int actvopros= Arrayl.get(0); //и такое обращение не работает
Ответы
Ответ 1
Скорее всего Ваша проблема заключается в том, что коллекцию Arrayl Вы объявляете как локальную переменную метода OnCreate(...), которая вне этого метода видна не будет. Для того, чтобы получить доступ к этой переменной из других методов (этого же класса), коллекцию Arrayl нужно объявить как поле класса: public class MainActivity extends AppCompatActivity { private ArrayListArrayl; @Override protected void onCreate(Bundle savedInstanceState) { Arrayl = new ArrayList<>(); for (int a = 1; a < 8; a++) { Arrayl.add(a); } Collections.shuffle(Arrayl); } } Ответ 2
Объявляй вне методов, инициализируй в OnCreate и используй где хочешь. class A { private ArrayList Arrayl; ... OnCreate { ... Array1 = new ArrayList<>() .... } void B { Array1 будет видно. } } Вот так.
Комментариев нет:
Отправить комментарий