
Android数据绑定文档建议您可以在文本是视图模型的属性时有条件地设置文本.例如
androID:text="@{user.displayname != null ? user.displayname : user.lastname}" 但有没有办法从strings.xml中设置文本而不是在我的视图模型中添加它?我想要这样的东西 –
androID:text="@{viewmodel.expanded ? @string/collapse : @string/expand}" XML看起来有点像这样:
<?xml version="1.0" enCoding="UTF-8"?><layout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:bind="http://schemas.androID.com/apk/res-auto"> <data > <import type="androID.vIEw.VIEw" /> <variable name="viewmodel" type="com.myproject.viewmodel.TravellerInfoviewmodel" /> </data> <linearLayout androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="horizontal"> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:src="@drawable/expandable_arrow_blue" /> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="@{viewmodel.expanded ? @string/taxes_fees_detail : @string/hIDe_taxes_fees_detail}" androID:textSize="12sp" /> </linearLayout></layout> 这是我的视图模型 –
package com.myproject.viewmodel;imports...public class TravellerInfoviewmodel extends BaSEObservable { @Bindable private final TaxDetailsviewmodel taxDetailsviewmodel; @Bindable private boolean expanded; Constructor.... public boolean isExpanded() { return expanded; } public voID setExpanded(boolean expanded) { this.expanded = expanded; notifyPropertyChanged(BR.expanded); } public voID toggleExpanded() { setExpanded(!expanded); }}解决方法 这是一个修复/解决方法: >定义您想要条件值的布局的重复Xml定义
>对于每个块,设置其中一个条件值
>根据数据绑定布尔值设置每个Xml定义的可见性
不是理想的解决方案,不是很漂亮..但功能相当 – 并且在临时工作直到找到正确的解决方案.
这是我为androID:textStyle解决它的方法,我有一个特殊的情况要求以粗体显示值.
<variable name="viewmodel" type="com.demo.app.someviewmodel"/> ... <TextVIEw androID:visibility="@{ ! viewmodel.boldRow ? VIEw.VISIBLE : VIEw.GONE}" androID:text="@{viewmodel.currentValue}" /> <TextVIEw androID:visibility="@{ viewmodel.boldRow ? VIEw.VISIBLE : VIEw.GONE}" androID:text="@{viewmodel.currentValue}" androID:textStyle="bold" /> 总结 以上是内存溢出为你收集整理的Android – 使用数据绑定的条件文本值全部内容,希望文章能够帮你解决Android – 使用数据绑定的条件文本值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)