Я работаю над проектом, который основывается на добавлении пользовательского атрибута в их элементы Android. Так же, как MvvmCross 'app:MvxBind
. Не существует пользовательских классов представлений, поскольку идея заключается в том, что пользователь может использовать обычные Android представления.
Проблема заключается в том, что для получения значения этого тега мне нужно получить набор IAttributeSet, который используется во время процесса просмотра инфляции, и я не могу найти способ сделать так, чтобы он отвечал моим потребностям.
У меня есть рабочий пример, использующий LayoutInflater.IFactory
, однако, для этого мне нужно установить свой собственный LayoutInflater / factory, который, если пользователь использует библиотеку, такую как MvvmCross, вызывает проблемы, так как только одна фабрика может быть установлена одновременно.
Я ищу способ, которым я могу получить объект IAttributeSet
всякий раз, когда представление завышено проверить мой атрибут, который не мешает стандартному LayoutInflater или LayoutInflater из других библиотек. Или, если есть какой-либо способ получить мой атрибут после того, как представление было завышено.
Заранее спасибо!
Редактировать
Я хочу быть возможность получить значение MyAttribute
из представления без разделения на подклассы или создания пользовательских представлений. Это легко сделать с помощью LayoutInflater.IFactory
, но этот метод мешает работе таких библиотек, как MvvmCross.
<TextView
android:layout_width="wrap_content"
android:layout_width="wrap_content"
app:MyAttribute="My attribute value" />