gpt4 book ai didi

启用链接器的 MvvmCross 从 4.2.3 更新到 4.4.0 后,Android EditText 绑定(bind)被破坏

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:23 25 4
gpt4 key购买 nike

由于 MvvmCross 从 4.2.3 更新到 4.4.0,我之前运行的 MvvmCross Android 应用程序损坏了

<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
local:MvxBind="Text Login" />

public string Login
{
get { return _login; }
set { SetProperty(ref _login, value); }
}

LinkerPleaseInclude 如果当然有:

public void Include(EditText text)
{
text.Enabled = !text.Enabled;
text.TextChanged += (sender, args) => text.Text = "" + text.Text;
text.Hint = "" + text.Hint;
text.Click += (s, e) => text.Visibility = text.Visibility - 1;
}

public void Include(TextView text)
{
text.TextChanged += (sender, args) => text.Text = "" + text.Text;
text.Hint = "" + text.Hint;
text.Click += (s, e) => text.Text = text.Text + "";
}

链接器“仅 SDK”已启用。对于禁用的链接器,它工作正常。其他绑定(bind)也可以正常工作(按钮点击、可见性等)。

如何告诉链接器正确处理这个问题?这里可能出了什么问题?

最佳答案

EditTextTextView 的绑定(bind)目标使用 AfterTextChanged 事件,该事件可能会被链接掉。将其添加到您的 Include 方法而不是 TextChanged 中,它应该可以工作:

public void Include(TextView text)
{
text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text;
text.Hint = "" + text.Hint;
text.Click += (s, e) => text.Text = text.Text + "";
}

我认为您不需要为 EditText 使用单独的方法,因为 EditText 继承自 TextView

关于启用链接器的 MvvmCross 从 4.2.3 更新到 4.4.0 后,Android EditText 绑定(bind)被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40432756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com