我正在尝试使用AndroidViewModel实现ViewModel模式。我认为我有一些EditText
。为了使视图模型负责存储数据,我需要在输入数据时将数据提供给视图模型。
一种方法是为每个TextWatcher
制作一个EditText
,并在更改文本时将其保存到viewmodel。这是正确的方法吗?
答案 0 :(得分:0)
根据我的理解,ViewModel
处理您在视图容器中创建的View
(可能是Fragment
或Activity
)而不是对他们的生命周期变化感到不安。
问答:这里的诀窍是,您将View
上的所有用户互动转发给ViewModel
。所以,是TextWatcher
会有效,但您必须在ViewModel
上而不是View
上写下来。
此外,ViewModelHelper
包含您可以从相应的视图方法中调用的方法(例如,具有Activity.onSaveInstanceState()调用
我认为您不需要为每个TextWatcher
创建EditText
。您是否无法创建一个TextWatcher
,您将分配给所有EditText
,其中一个方法可以识别哪个TextView
触发了此操作并采取相应措施?< / p>