我试图在使用一个转换为数组的集合的回收站视图中设置多种语言。我不明白为什么这会导致每行显示的每种语言。任何指针都会被感激地收到。这里是我的代码:Array返回每行中的每个项目而不是每行一个项目
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();
}
}
}
谢谢!
假设语言列表是一个地图,我不知道你会怎么会认为它会有任何不同的行为给予字符串locDisplayResults = Arrays.toString(arrayLocale);和languagesList.add(新语言(arrayLocale [i],locDisplayResults)); – DejaVuSansMono
的事情是,我试图消除“arrayLocale [I]”,同样的事情发生了。 –
你知道Arrays.toString()是做什么的吗? https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#toString(INT [])你最终拉动整个阵列。你最好只拉你想要的元素。 – DejaVuSansMono