Привязки перестают работать после обновления xamarin.android с 8.3 до 9 из-за изменения ресурсов генерации - PullRequest
0 голосов
/ 29 мая 2019

После обновления 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();
        }

Есть идеи?

...