如何在数据绑定中为文本设置默认值

时间:2019-05-12 14:59:33

标签: android

我有两个edittext,分别是用户名和密码,下面有一个textview,在textview中,用户输入要在其上显示的edittext。假设在用户名edittext中,如果用户键入shayam和密码shree,则在文本视图中,我必须显示Username为shayam和Password为shree。

scenario以上对我来说很好。但是,当用户在textview中进入此屏幕时,发生的是它最初向我显示null-null,当然,这是正确的,因为在绑定模型中,最初我没有数据。

现在我的要求是:如果我没有用户名,那么默认情况下,字符串((在string.xml中提到的名称为default_val))我必须将textview设置为Username Admin和Password Admin(即,从中加载default_val string.xml),但是当用户在editext中输入内容时,我必须显示generic_text,即在string.xml中提到 注意:我只需要从string.xml达到峰值

我做了什么:当用户名为空时,我将显示默认字符串,否则,我将显示如下所述的通用字符串。但是为什么逻辑不起作用

<TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="@{loginModel.username  ? @string/generic_text(loginModel.username , loginModel.password) : @string/default_val}"
     android:gravity="center"
     android:textSize="@dimen/text_size_16"/>


 <string name="generic_text">Username is %1$s and Password is %2$s</string>
<string name="default_val">Username Admin and Password</string>

但是上面的代码通过我出现了错误:

error: incompatible types: String cannot be converted to boolean

2 个答案:

答案 0 :(得分:0)

android:text =“ @ {loginModel.username!= null?@ string / generic_text(loginModel.username,loginModel.password):@ string / default_val}”

由于要在条件中使用字符串,因此必须明确提及条件(如空检查)

答案 1 :(得分:-1)

您应该在代码侧添加它,然后查看它是否有效。

赞:

   textValue = edtText1.text + "-" + edtText2
   Textview.text = textValue`