gpt4 book ai didi

android - Xamarin Android 与 Mvvmcross。在 axml 中绑定(bind) OnEditorAction

转载 作者:行者123 更新时间:2023-11-29 20:48:33 26 4
gpt4 key购买 nike

情况:我有一个包含 EditText 的 View 列表。我希望用户能够修改文本,并且只在他按下键盘上的完成按钮时才将他的新文本发送到 View 模型。我的编辑文本已绑定(bind)有后续

<EditText
android:id="@+id/textNumero"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.23"
android:textColor="#ffffffff"
local:MvxBind="Text BarilId" />

我在互联网上发现我可以使用这个事件来做我想做的事情:

idEditText.OnEditorAction (ImeAction.Done) += //insert delegate here

不幸的是,我无法访问我的 Activity ,因为我正在绑定(bind)列表中的类(class)。

所以,我想像这样在我的类(class)中绑定(bind)一个命令:

<EditText
android:id="@+id/textNumero"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.23"
android:textColor="#ffffffff"
local:MvxBind="OnEditorAction EditCommand"
local:MvxBind="Text BarilId" />

命令:

    private IMvxCommand _editCommand;
public IMvxCommand EditCommand
{
get {
_editCommand = _editCommand ?? new MvxCommand(() => {
//do validation here
});
return _editCommand;
}
}

但我不知道如何将 ImeAction.Done 传递给我的命令,或者我什至是否收到类似的东西。

剩下的部分我能帮忙吗?

最佳答案

您可以创建具有命令的自定义 EditText,然后可以将其绑定(bind)到 axml 中。

另一种选择是使用:

idEditText.OnEditorAction (ImeAction.Done) += (ViewModel as MyViewModel).EditCommand.Execute(whateveryouwanttouse);

要到达您可以使用的 Activity:

Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity

关于android - Xamarin Android 与 Mvvmcross。在 axml 中绑定(bind) OnEditorAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29756279/

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