Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
lord_commander
0 / 0 / 7
Регистрация: 20.05.2014
Сообщений: 139
#1

Неправильный выбор даты в приложении для Android - Программирование Android

06.12.2015, 07:58. Просмотров 364. Ответов 4
Метки нет (Все метки)

Добрый день! Я делаю приложение в Android Studio, и в нем мне необходим был диалог для выбора даты. Я создал данный диалог, он работает, все нормально. НО, когда я выбираю в нем дату и устанавливаю её в TextBox, нумерация месяца сбивается, и показывается предыдущий месяц.
К примеру, выбираю дату "6 декабря 2015 года". В теории, должно установиться значение 6.12.2015, но устанавливается почему-то 6.11.2015. Подскажите, в чем может быть проблема, и как это исправить?
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class DatePicker extends DialogFragment
            implements DatePickerDialog.OnDateSetListener {
 
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
 
            // определяем текущую дату
            final Calendar c = Calendar.getInstance();
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH);
            int day = c.get(Calendar.DAY_OF_MONTH);
 
            // создаем DatePickerDialog и возвращаем его
            Dialog picker = new DatePickerDialog(getActivity(), this,
                    year, month, day);
            picker.setTitle(getResources().getString(R.string.choose_date));
 
            return picker;
        }
 
        @Override
        public void onStart() {
            super.onStart();
            Button nButton =  ((AlertDialog) getDialog())
                    .getButton(DialogInterface.BUTTON_POSITIVE);
            nButton.setText(getResources().getString(R.string.ready));
 
        }
 
        @Override
        public void onDateSet(android.widget.DatePicker datePicker, int year,
                              int month, int day) {
 
            TextView tv = (TextView) getActivity().findViewById(R.id.textView19);
            tv.setText(day + "-" + month + "-" + year);
        }
    }

Вот скриншоты того, что получается при выборе
0
Миниатюры
Неправильный выбор даты в приложении для Android   Неправильный выбор даты в приложении для Android  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2015, 07:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Неправильный выбор даты в приложении для Android (Программирование Android):

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете?
Какую фирму посоветуете?

Написание сервиса для фоновой музыки в приложении под Android(Java)
Товарищи, в данный момент столкнулся с одной из многих проблем на моём...

Выбор книги или статей для создания приложений под Android (клиент для сервера)
С какой книги посоветуете начать изучение (желательно сразу на 4 версии). ...

Выбор языка для Android разработки
Здравствуйте, не знаю вообще, есть ли актуальность, но за неимением должного...

Выбор движка для создания 2D игры на Android
Уверен, что эта тема уже много раз поднималась, но возможно на данный момент...

Выбор языка для разработки ПО под Android
Добрый. Необходимо заняться разработкой ПО под Android. Столкнулся с проблемой:...

4
Vladimir93
53 / 54 / 8
Регистрация: 28.06.2015
Сообщений: 229
06.12.2015, 09:56 #2
Проблема в том, что месяцы считают от 0.
0
lord_commander
0 / 0 / 7
Регистрация: 20.05.2014
Сообщений: 139
06.12.2015, 10:00  [ТС] #3
Я пытался это исправить, путем прибавления к с.get(Calendar.MONTH) еденицы, то бишь:
Java
1
int month = c.get(Calendar.MONTH)+1;
Но это не помогло
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
06.12.2015, 11:53 #4
вот 35-й строке, month - какое значение?
0
lord_commander
0 / 0 / 7
Регистрация: 20.05.2014
Сообщений: 139
06.12.2015, 12:11  [ТС] #5
При выборе Декабря - 11.
Я сделал перед 35-ой строкой увеличение month на еденицу, и теперь показывает правильно: при выборе того же декабря - 12, январь - 1 и т.д.
По другому нумерацию с 0 в датапикере обойти не получится?
0
06.12.2015, 12:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2015, 12:11
Привет! Вот еще темы с решениями:

Выбор языка для создания приложений под Android
Здравствуйте, Недавно решил подделать приложения под андроид. Нашел в какой...

Выбор веб-сервиса с авторизацией для android клиента
Добрый вечер! Под клиент нужен веб-сервис с возможностью авторизации и...

Вывод даты в приложении
Использую такую штуку: public TextView current_date; private Timer...

3D графика в Android приложении
Привет всем ,, Подскажите пожалуйста,, Есть идея создать приложение на...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru