В моем макете фрагмента я привязываю класс фрагмента:
В какой-то момент во фрагменте у меня есть изображение с android:onClick="toggleSwitch", теперь я вижу предупреждение, сообщающее, что метод отсутствует в FragmentSwitch > но это не так. В моем классе фрагментов я определил его с помощью правильной подписи public void toggleSwitch(View view) { Если я попытаюсь нажать на ImageView, приложение выйдет из строя.
Кажется, Android Studio ищет void с той же сигнатурой, только внутри Activity, а не внутри Fragment. однако, если внутри моего:
Код: Выделить всё
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
Добавляю следующее:
Код: Выделить всё
ImageView ivSwitch = view.findViewById(R.id.ivSwitch);
ivSwitch.setOnClickListener(this::toggleSwitch);
В этом случае приложение не аварийно завершает работу, и метод действительно вызывается правильно. фрагмент правильно загружен в класс ActivityMain, но по какой-то причине я не могу определить методы внутри XML-фрагмента, как я могу это сделать с действиями.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... a-fragment