2017-10-28 166 views
0

我可以在我的EditText通过以下方式使用字符串资源初始化结合文字:简单的方法来字符串资源与数据绑定

​​

这是我将如何使用两个方法做绑定

android:text="@={viewModel.myText}" 

的问题是,如何才能结合上述方法(如果可能的话)已用的EditText“@字符串/ my_text”,并在同一时间b初始化从双向数据绑定中获益?基本上我寻找类似以下(但它只能在预览,而不是在应用程序):

android:text="@={viewModel.myText, [email protected]/my_text}" 

我知道,我可以用第二种方法和视图模型会将myText初始化将被传播到查看但我不知道是否有可能实现,只有在XML?

在我看来,好处是ViewModel不必知道字符串资源。

回答

0

我们在我们的背后视图模型代码项目的处理方式:

  • 在视图模型设置默认的文本“会将myText”和
  • ,每当我们需要更新值,调用:

    public void setPassword(String password){ this.password = password; notifyPropertyChanged(BR.passwordQuality); }

希望这有助于。

谢谢。

+0

首先,您可能正在使用单向数据绑定和“@ {viewModel.myText}”。我正在使用“@ = {viewModel.myText}”的双向数据绑定,所以我不需要手动调用notifyPropertyChanged。第二件事是我知道我可以在ViewModel中将默认文本设置为'myText',但是我的默认文本位于@string资源中,为了获得它,我必须从ViewModel访问上下文,我希望避免这种情况。 – LLL

相关问题