gpt4 book ai didi

android - 使用可本地化的格式字符串进行数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 00:49:25 24 4
gpt4 key购买 nike

我正在使用 MvvmCross 在 Xamarin 中制作一个 Android 应用。

我的用户界面有一个搜索字段和一个按钮。我希望按钮反射(reflect)搜索字段中的任何内容。因此,如果搜索字段有 Alamo Drafthouse,我希望按钮显示 Create "Alamo Drafthouse"Venue,但是 Create "x"Venue字符串应来自 strings.xml 文件,以便可以对其进行本地化。

我目前的攻击计划是创建一个 ValueConverter,它接受搜索词并进行格式化,使用 ConvertParameter 指定字符串资源的 ID,所以我可以这样做:

<Button local:MvxBind="Text SearchTerm, Converter=FormatResource, ConvertParameter='create_view'" />

其中 create_view 是在 strings.xml 中定义的字符串资源。

我想我应该问一下是否有更好的方法来做到这一点。有吗?

最佳答案

如果您希望模板字符串来自 strings.xml(来自 Android 项目,而不是来自 Core/PCL 项目),您可以创建自己的名为 FormatResourceConverter.

 public class FormatResourceConverter: IMvxValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//value would be your draft house
//parameter would be a name of your string in strings.xml
var stringValue = ... //get your string from Android string resources
return String.Format(stringValue, value);
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

Here is a simple answer how to get string from Android resources in Xamarin .

关于android - 使用可本地化的格式字符串进行数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309000/

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