|
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
|
|
Как вызвать метод из другого класса java в Android Studio?18.05.2022, 10:15. Показов 1974. Ответов 5
Метки нет (Все метки)
Добрый день! Никак не могу понять почему при попытке вызвать функцию или метод из другого класса приложение просто тупо вылетает. Применял разные варианты слушателей, всё равно не робит. Если функция или метод расположены в MainActivity.java то все нормально работает, а в другом классе даже в созданном новом активити вызывает сбой приложения и вылет.
Всё методы вызовов функций из MainActivity.java я прекрасно знаю, вопрос в другом, как их вызвать из другого класса? Всё делаю так же, но приложение вылетает и всё тут. работаю с API Level 29 в Android Studio. Не пойму в чём тут дело. Дайте пожалуйста пример реализации.
0
|
|
| 18.05.2022, 10:15 | |
|
Ответы с готовыми решениями:
5
Как вызвать определенный метод переданного класса через метод другого класса?
|
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 18.05.2022, 10:32 | |
|
У любого вылета есть лог, где всё написано.
0
|
|
|
93 / 66 / 27
Регистрация: 23.06.2019
Сообщений: 477
|
||
| 18.05.2022, 11:07 | ||
|
Вообще-то для прикладного программиста функции (или методы, как правильно?) активити вызываются либо в самой активити, либо из расположенных в ней вьюхах или фрагментах. И даже в этом случае надо следить за ее жизненным циклом.
0
|
||
|
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
|
||||||||||||||||
| 18.05.2022, 16:32 [ТС] | ||||||||||||||||
|
Прошу строго не судить, я ещё только осваиваю это.
Ну допустим есть activity_main.xml
MainActivity.java
Но если создать новый класс MyClass.java c такой же функцией, и попытаться вызвать её через onClick в разметке activity_main.xml , то приложение при нажатии на кнопку вылетает. Может тут дело совсем малое, вероятно я ещё не изучил но прошу подсказать. Второй класс клон
0
|
||||||||||||||||
|
93 / 66 / 27
Регистрация: 23.06.2019
Сообщений: 477
|
||
| 18.05.2022, 16:58 | ||
|
Класс - это просто схема для создания объекта. Создает объекты из класса операционная система, когда прикладной программист пишет что-то типа new QweAsd.class(). В андроиде Активити создаются из классов через интенты. Когда стартует приложение или когда выполняется startActivity(intent). И ссылки на созданный объект из класса активити у прикикладного программиста нет. Поэтому нельзя вызвать методы из одной активити у другой. Нельзя вызывать методы просто так из класса. Сначала из класса создается объект. И тогда по ссылке на объект вызывается метод. Из одной активити прикладной программист не может никак получить ссылку на объект другой активити. Если только-то сумеет сделать Активити статической. То есть скомпиленной сразу при компиляции в объект. Не знаю, так вообще возможно сделать или нет.Но в любом случае так не делается. Проще описать чего хочется получить вызывая из одной активити методы другой активити. И сделать это другим способом.
1
|
||
|
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
|
|
| 18.05.2022, 17:31 [ТС] | |
|
Благодарю вас. Теперь понятно! Спасибо за разъяснение!
0
|
|
| 18.05.2022, 17:31 | |
|
Помогаю со студенческими работами здесь
6
Android Studio, как вызвать данный метод ?
Как вызвать метод из другого класса в kv файле?
Как для события Button_Click вызвать метод из другого класса ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|