Как использовать пользовательский компонент в качестве библиотеки Android - PullRequest
0 голосов
/ 26 февраля 2019

Я работаю над приложением, где у меня есть конкретные требования для выполнения некоторых действий в списке.Я сделал специальный список в соответствии с моими потребностями, и это работает просто отлично.

Теперь структура моего приложения такого типа, что у меня одни и те же списки.Таким образом, я должен управлять тем же стилем списка на протяжении всего проекта.У меня есть некоторые общие функции для выполнения почти в каждой деятельности из-за того же типа требований.

Теперь, когда я создал весь Адаптер элементов Списка и Списка, теперь, чтобы сэкономить время, я просто хочу создать тип библиотеки вещь. Но я понятия не имею, как это сделать.Ниже приведены вещи, которые я хочу достичь из этой библиотеки.

  • Я хочу установить в Библиотеку только источник данных, который будет содержать ListView, представления элементов и пользовательский адаптер
  • Я хочу обратный вызов, который будет уведомлять текущую активность о выполняемой операциивыполняется.

Так что, хотя я знаю, как делать обратные вызовы / интерфейс и другие вещи, я просто хочу знать, как я могу создать библиотеку, которая будет состоять из моего собственного списка ListView и егоАдаптер, который будет обеспечивать только обратный вызов своих действий для действия.

Примечание: Я знаю, что могу реализовать его во фрагменте и использовать фрагмент там, где это необходимо, но для чистой архитектуры могу ли ясделал библиотеку если да то как?

Пожалуйста, помогите мне и скажите, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Поскольку вам нужно использовать в одном приложении, нет необходимости создавать библиотеку.

  1. Для макета вы можете создать отдельный макет для своего списка, который вы можете просто включить в макеты «Активность» и «Фрагмент».
  2. Для адаптера вы можете создать интерфейс либо внутри своего класса Adapter.или в виде отдельного файла и добавьте этот экземпляр интерфейса в конструктор класса Adapter.
  3. Реализуйте один и тот же интерфейс во всех действиях / фрагментах, которые будут использовать этот список и адаптер, и передайте этот локальный экземпляр интерфейса конструктору адаптера во время инициализации.

При любом событии в списке вызовов интерфейс и метод передаются вызываемому классу или фрагменту.

0 голосов
/ 26 февраля 2019

Зайдите в меню и выберите новый модуль, выберите библиотеку Android

Переместите свой адаптер и макет в этот модуль, не забывайте также о других ресурсах, классах и интерфейсах (все, что вам нужно).Вы можете скопировать вставку, чтобы минимизировать разрывные изменения, а затем удалить после добавления библиотеки.

Если вашему адаптеру или чему-либо еще нужна какая-либо зависимость, которую вы должны добавить в библиотеку,

Теперь перейдите кваше приложение отключится и добавьте туда модуль

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