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

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

Войти
Регистрация
Восстановить пароль
 
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 137
#1

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

06.12.2015, 07:58. Просмотров 294. Ответов 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);
        }
    }

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

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

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

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

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

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

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

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

Вывод даты в приложении - Программирование Android
Использую такую штуку: public TextView current_date; private Timer timer; protected void onStart() { ...

Карты в android приложении - Программирование Android
Всем Здравствуйте. Подскажите уважаемые. Хочу написать приложение в котором на карте google или yandex (еще не определился) будут...

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

База данных в Android приложении - Программирование Android
Такая проблема, у меня есть база в MySQL, а в приложении нужно, чтобы база была в формате Sqlite, никак не получается конвертировать ее,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2015, 12:11
Ответ Создать тему
Опции темы

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