我使用以下代码段来检索特定选项列表的选择项
Map<Serializable, Serializable> items = new HashMap<Serializable, Serializable>();
Iterator<Choice> choiceIterator = choiceList.get_ChoiceValues().iterator();
while(choiceIterator.hasNext()){
Choice choice = choiceIterator.next();
if(choice.get_ChoiceType() == ChoiceType.INTEGER){
itemKey = choice.get_ChoiceIntegerValue();
}else{
itemKey = choice.get_ChoiceStringValue();
}
items.put(itemKey, ((LocalizedStringImpl)choice.get_DisplayNames().get(0)).get_LocalizedText());
}
但get_LocalizedText()
方法只能使用区域设置en_us
获取值。那么,如果我想获得其他语言环境,如ar_eg
?
提前致谢。
答案 0 :(得分:1)
您需要在LocalizedString对象上调用get_LocaleName()方法,并找出这是否是您正在寻找的正确语言环境。以下是示例代码:
LocalizedStringList lsList = choice.get_DisplayNames();
Iterator<LocalizedString> dit= lsList.iterator();
boolean lnFound = false;
while(dit.hasNext())
{
LocalizedString ls = dit.next();
String ln = ls.get_LocaleName();
String lt = ls.get_LocalizedText();
if(_locale.equalsIgnoreCase(ln))
{
ls.set_LocalizedText(_value);
lnFound = true;
}
}