Array返回每行上的每个项目,而不是每行一个项目

时间:2016-11-29 20:55:01

标签: java android arrays android-recyclerview

我正在尝试使用我转换为数组的集合在回收站视图中设置多种语言。我真的不明白为什么这会导致每行显示每种语言。任何指针都会感激不尽。这是我的代码:

    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();
        }
    }
}

谢谢!

1 个答案:

答案 0 :(得分:2)

此代码“Arrays.toString(arrayLocale);”会给你一个包含所有元素的字符串。您将此分配给变量“locDisplayResults”并在看起来像languagesList的所有行上设置它。我认为这就是问题。