我有两个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
答案 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`