Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
#1

Сортировка кнопок по названию (номерам) - Android

01.02.2016, 15:54. Просмотров 204. Ответов 7
Метки нет (Все метки)

Здравствуйте,
подскажите пожалуйста в чем проблема и как из нее выйти: есть ArrayList кнопок, у них названия - случайные номера, когда я пытаюсь отсортировать их через Comparator compare и Collections.sort то в итоге сортируется по порядку но странно : сначала первые цифры а потом уже вторые, т.е пример :
1,10,11...,2,20,21,22,...3,30,31,32 и т.д
вот код метода
Java
1
2
3
4
5
 public int compare(Button a, Button b){
       
        return a.getText().toString().compareTo(b.getText().toString());
       
    }
я пытался сделать так , но видно это не работает , накрутил короче:

Java
1
2
3
4
5
 public int compare(Button a, Button b){
       
        return Integer.parseInt(a.getText().toString())-Integer.parseInt(b.getText().toString());
       
    }
тыкните пожалуйста где затупил
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
01.02.2016, 16:14     Сортировка кнопок по названию (номерам) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
        Collections.sort(list, new Comparator<Button>() {
            @Override
            public int compare(Button b1, Button b2) {
                return Integer.valueOf(b1.getText().toString()) - Integer.valueOf(b2.getText().toString());
            }
        });
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
01.02.2016, 16:15     Сортировка кнопок по названию (номерам) #3
Цитата Сообщение от u-geen Посмотреть сообщение
тыкните пожалуйста где затупил
В первом случае сравнение строк - там так и должно быть(1, 10, 11, 12...). Во втором случае уже сравнение чисел - соответсвенно сортирует числа по возрастанию (1, 2, 3...).
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
01.02.2016, 16:59  [ТС]     Сортировка кнопок по названию (номерам) #4
коварный Андроид не принимает почему-то, ни так
Java
1
2
3
4
 @Override
    public int compare(Button a, Button b){
      return Integer.valueOf(a.getText().toString()) - Integer.valueOf(b.getText().toString());    
    }
ни даже так, ошибку дает именно в строке преобразования в Инт
Java
1
2
3
4
5
6
7
8
9
 @Override
    public int compare(Button a, Button b){
 
        String t1=a.getText().toString();
        String t2=b.getText().toString();
       int a1=Integer.parseInt(t1);
        int b1 = Integer.parseInt(t2);
        return a1-b1;
    }
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
01.02.2016, 17:04     Сортировка кнопок по названию (номерам) #5
Сортировка кнопок по названию (номерам)
что я сделал не так, что у меня все работает?
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
01.02.2016, 17:22  [ТС]     Сортировка кнопок по названию (номерам) #6
да я верю что работает, ищу почему у меня не работает ...
при чем если проверять через сравнение Стринг- ошибок нет, как только Инт- крашится
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
01.02.2016, 17:25     Сортировка кнопок по названию (номерам) #7
а, ну так значит на какой-то кнопке текст, который не получается распарсить в инт
можно ловить исключение, но как тогда сортировать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2016, 18:33     Сортировка кнопок по названию (номерам)
Еще ссылки по теме:

Android Нажатие кнопок в стороннем приложении
Android Ошибка в onclick кнопок
Обработка нажатия кнопок Android
Получить фото по названию города Android
Android Обработка нажатия кнопок

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
01.02.2016, 18:33  [ТС]     Сортировка кнопок по названию (номерам) #8
спасибо, действительно так и есть, вроде бы элементарно надо сразу было об этом подумать, но затупил не подеццки
Yandex
Объявления
01.02.2016, 18:33     Сортировка кнопок по названию (номерам)
Ответ Создать тему
Опции темы

Текущее время: 02:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru