gpt4 book ai didi

android - RoboBinding ViewModel如何知道要返回的变量

转载 作者:行者123 更新时间:2023-11-30 02:24:55 24 4
gpt4 key购买 nike

让我们检查一个来自 here 的简单示例:这是一个带有 TextView 绑定(bind)的简单布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bind="http://robobinding.org/android">
<TextView
bind:text="{hello}" />
...
<Button
android:text="Say Hello"
bind:onClick="sayHello"/>

这是这个布局的 View 模型:

 @org.robobinding.annotation.PresentationModel
public class PresentationModel implements HasPresentationModelChangeSupport {
private String name;//how does framework now what to set name to ?
public String getHello() {
return name + ": hello Android MVVM(Presentation Model)!";
}
...
public void sayHello() {
firePropertyChange("hello");
}
}

我的问题是 viewModel 如何知道名称是什么?它没有在任何地方设置?如果我有很多变量,如 name2、name3 等,它怎么知道要绑定(bind)什么?

最佳答案

你应该看看整个源代码

MVVM example

presentation model 类中有getter 和setter 来管理name 字段的值和布局中指定的两种绑定(bind)方式

        <EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
bind:text="${name}"/>

如果你有更多的变量,如果你想使用双向绑定(bind),你必须为每个变量提供一个 getter 和 setter。

关于android - RoboBinding ViewModel如何知道要返回的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28002611/

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