Список не отображается в правильном порядке в Android Studio - PullRequest
0 голосов
/ 18 июня 2020

У меня есть действие, которое берет дату с телефона и добавляет ее в список в наборе, который затем сохраняется в общих настройках с помощью нажатия кнопки.

                //Loads data
                final SharedPreferences sharedList = getSharedPreferences("Workouts", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedList.edit();
                Set<String> set = sharedList.getStringSet("Workout List", null);

                List list1 = new ArrayList(set);
                list1.add(date);

                //Creates new set with updated values and saves to the key
                Set<String> set2 = new HashSet();
                set2.addAll(list1);
                editor.putStringSet("Workout List", set2);
                editor.commit();

Я затем на отдельном activity загрузить эти данные для отображения в виде списка.

        listView=findViewById(R.id.listView);

        SharedPreferences sharedPref = getSharedPreferences("Workouts", Context.MODE_PRIVATE);
        Set<String> set = sharedPref.getStringSet("Workout List", null);

        List list1 = new ArrayList(set);

        //Creates an array adapter for the arrayList
        ArrayAdapter arrayAdapter=new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, list1);

        //Sets the adapter to the listView so you can view the list on the page
        listView.setAdapter(arrayAdapter);

У меня две проблемы с этим методом:

1: он загружает данные в неправильном порядке. Я сохранил сегодняшнюю дату, изменил дату телефона на завтра, сохранил это и повторил пару раз. Он отображает их в случайном порядке, а не в том порядке, в котором я их сохранил. Фотография списка

2: когда я запускаю приложение на своем реальном телефоне и нажимаю кнопку сохранения, приложение вылетает. Это происходит только тогда, когда на моем настоящем телефоне в эмуляторе все работает нормально.

...