После обновления xamarin.android с версии 8.3 до 9.0 привязки перестают работать. После исследования я обнаружил, что проблема с восстановлением идентификатора в MvxBind различна, и из-за этого возникает проблема.
После обновления
// значение ресурса aapt: 0x7F010830
public const int MvxBinding_MvxBind = 2130774064;
// aapt resource value: 0x1
public const int MvxBinding_MvxLang = 1;
до
// aapt resource value: 0
public const int MvxBinding_MvxBind = 0;
// aapt resource value: 0x1
public const int MvxBinding_MvxLang = 1;
Проблема в том, MvxAndroidViewBinder.cs. Метод ApplyBindingsFromAttribute не вызывается:
public virtual void BindView(View view, Context context, IAttributeSet attrs)
{
using (
var typedArray = context.ObtainStyledAttributes(attrs,
MvxAndroidBindingResource.Instance.BindingStylableGroupId))
{
int numStyles = typedArray.IndexCount;
for (var i = 0; i < numStyles; ++i)
{
var attributeId = typedArray.GetIndex(i);
if (attributeId == MvxAndroidBindingResource.Instance.BindingBindId)
{
ApplyBindingsFromAttribute(view, typedArray, attributeId);
}
else if (attributeId == MvxAndroidBindingResource.Instance.BindingLangId)
{
ApplyLanguageBindingsFromAttribute(view, typedArray, attributeId);
}
}
typedArray.Recycle();
}
Есть идеи?