我正在尝试使用我转换为数组的集合在回收站视图中设置多种语言。我真的不明白为什么这会导致每行显示每种语言。任何指针都会感激不尽。这是我的代码:
public void onInit(int initStatus) {
if (initStatus == TextToSpeech.SUCCESS) {
availableLanguages = myTTS.getAvailableLanguages();
Locale[] arrayLocale = availableLanguages.toArray(new Locale[availableLanguages.size()]);
String locDisplayResults = Arrays.toString(arrayLocale);
for (int i = 1; i < arrayLocale.length; i++) {
languagesList.add(new Language(arrayLocale[i], locDisplayResults));
Collections.sort(languagesList, new Comparator<Language>() {
@Override
public int compare(Language languages1, Language languages2) {
return languages1.getLocaleDisplay().compareTo(languages2.getLocaleDisplay());
}
});
recyclerAdapter.notifyDataSetChanged();
}
}
}
谢谢!
答案 0 :(得分:2)
此代码“Arrays.toString(arrayLocale);”会给你一个包含所有元素的字符串。您将此分配给变量“locDisplayResults”并在看起来像languagesList的所有行上设置它。我认为这就是问题。