Видимо ли содержимое фрагмента вне плагина хоста?

Я никогда раньше не работал с фрагментами плагинов. Я думал, что, создав новый класс внутри фрагмента и экспортировав пакет, содержащий его в манифесте фрагмента, я смогу получить доступ к этому классу из другого плагина, который уже зависит от плагина хоста. Тем не менее, я не могу заставить эту работу. Является ли содержимое фрагмента когда-либо видимым для какого-либо плагина, кроме плагина хоста? Если так, я должен сделать что-то особенное, чтобы это позволить?

1 ответ

Решение

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

Но чего у вас нет, так это информации времени компиляции о содержимом фрагмента. Это принцип фрагмента: вы не можете зависеть от него. И вы не знаете, есть ли у кого-то фрагменты или нет.

Это также не только проблема, которая есть у "любого плагина, кроме плагина хоста". Это проблема, которую имеет даже сам хост-плагин. Он не знает о существовании фрагмента во время компиляции.

Вы также не можете надежно использовать фрагмент для переопределения частей классов плагина хоста: FAQ Можно ли использовать фрагменты для исправления плагина?, если это то, что вы хотите сделать. На странице также описано, как это можно сделать.

Надеюсь это поможет.

Другие вопросы по тегам