Android: Как выполнить обратный вызов из библиотеки в основной проект приложения? - PullRequest
1 голос
/ 14 июля 2020

у меня есть основное приложение с именем App_1, затем настраиваемая библиотека Lib_1

Project View

как я могу выполнить обратный вызов или запустить метод из app_1 Основное действие при нажатии кнопки в lib_1 ? tia.

Ответы [ 3 ]

0 голосов
/ 14 июля 2020

Создайте интерфейс в lib_1 , затем в app_1 создайте реализацию этого интерфейса и передайте ее lib_1 , когда кнопка в lib_1 нажата кнопка вызова метода из этого интерфейса.

0 голосов
/ 14 июля 2020

Ваше приложение_1 может получить доступ к коду lib_1 (если вы установили правильные отношения для двух модулей), поэтому вы можете определить метод обратного вызова в своей lib_1. например, public void onLibButtonClick(OnClickListener listenerFromApp). Когда вы нажимаете кнопку на lib_1, вы можете вызвать listenerFromApp.onClick(View) для передачи события щелчка.

Вы также можете использовать LocalBroadcastManager связанный API для передачи события между модулями (в одном приложении). Это должно быть разумно когда-нибудь.

0 голосов
/ 14 июля 2020

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

  • библиотека является зависимостью приложения

Чтобы настроить ее добавьте library в файл build.gradle вашего приложения (найдите его в папке вашего приложения) в разделе dependencies - это может выглядеть так:

dependencies {
  implementation project( ':library' )

  //other dependencies below (order doesn't really matter)
  (...)
}

Тогда есть несколько вещей, требующих более подробного объяснения - что вы подразумеваете под «кнопкой из библиотеки»? Вы создали пользовательскую кнопку (проверьте официальную документацию , чтобы узнать, что это такое)? Или вы имеете в виду, что нажатие кнопки в вашем приложении запускает функцию из библиотеки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...