gpt4 book ai didi

android - 复数在xml中不起作用

转载 作者:行者123 更新时间:2023-12-01 15:02:07 26 4
gpt4 key购买 nike

我正在尝试在我的 TextInputEditText 的错误文本中加载复数。 :

<android.support.design.widget.TextInputEditText
android:id="@+id/et_subject_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:lines="1"
android:maxLines="1"
android:singleLine="true"
android:text="@{ model.name }"
android:hint="@string/hint_name"
app:validateRegex='@{"^*\\S{2}.*$"}'
app:validateRegexMessage="@{@plurals/error_too_short(model.minNameLength)}"/>

但在我的应用程序中,它显示了我的字符串,但带有 %d而不是 model.minNameLength值(value)。 app:validateRegex是一个属性,由 Data Binding Validator 定义图书馆。
我的复数:
<plurals name="error_too_short">
<item quantity="one" >Too short, enter at least %d visible character.</item>
<item quantity="other" >Too short, enter at least %d visible characters.</item>
</plurals>

怎么了?还是有另一种在xml中显示复数的方式?
附言如果它很重要,我会使用数据绑定(bind)引擎 V2。

最佳答案

在官方Android docs :

When using the getQuantityString() method, you need to pass the count twice if your string includes string formatting with a number. For example, for the string %d songs found, the first count parameter selects the appropriate plural string and the second count parameter is inserted into the %d placeholder. If your plural strings do not include string formatting, you don't need to pass the third parameter to getQuantityString.



所以,如你所愿 model.minNameLength要定义选择哪个复数版本以及在字符串中插入其值,您应该提供两次。因此,数据绑定(bind)表达式应改为:
app:validateRegexMessage="@{@plurals/error_too_short(model.minNameLength, model.minNameLength)}"

关于android - 复数在xml中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com