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

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

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

Как создать анонимный об. GregorianCalendar с поступающими hour и minute? - Программирование Android

19.10.2014, 15:02. Просмотров 445. Ответов 4
Метки нет (Все метки)

Вот код где я успешно использовал полученые данные и присвоил их в конце нужному объекту(mDate(15 строка)).
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// создание объекта Calendar для получения года, месяца и дня
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(mDate);
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);
 
        View v = getActivity().getLayoutInflater()
                .inflate(R.layout.dialog_date, null);
 
        DatePicker datePicker = (DatePicker)v.findViewById(R.id.dialog_date_datePicker);
        datePicker.init(year, month, day, new OnDateChangedListener() {
            public void onDateChanged(DatePicker view, int year, int month, int day) {
                // Преобразование года, месяца и дня в объект Date
                mDate = new GregorianCalendar(year, month, day).getTime();
 
                    // объявление аргумента для сохранения
                    // выбраного значения при повороте
                getArguments().putSerializable(EXTRA_DATE, mDate);
            }
        });
Задача схожий вариант разработать с временем, используя фрагмент TimePicker.
Проблема в том, что я не знаю как правильно инициализировать для обекта значения, чтобы подобное повторить с этим фрагментом.(строка 12 кода выше).

Ниже демонстрирую свои неудачные попытки. Строка 25 является ошибочной точно.
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
@Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        mTime = (Date)getArguments().getSerializable(EXTRA_TIME);
 
        // создание объекта Calendar для получения часов и минут
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(mTime);
        int hour = calendar.get(Calendar.HOUR);
        int minute = calendar.get(Calendar.MINUTE);
        int second = calendar.get(Calendar.SECOND);
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);
 
        View v = getActivity().getLayoutInflater()
                .inflate(R.layout.dialog_time, null);
 
        TimePicker timePicker = (TimePicker)v.findViewById(R.id.dialog_time_timePicker);
        timePicker.setCurrentHour(hour);
        timePicker.setCurrentMinute(minute);
 
        timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
         @Override
          public void onTimeChanged(TimePicker timePicker, int hour, int minute) {
             mTime = new GregorianCalendar().getTime(hour, minute);
             // объявление аргумента для сохранения
             // выбраного значения при повороте
             getArguments().putSerializable(EXTRA_TIME, mTime);                                    
            }
        });
Спастбо на перед всем, кто поможет разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 15:02     Как создать анонимный об. GregorianCalendar с поступающими hour и minute?
Посмотрите здесь:
Как создать такой ViewPager или Как вообще такое создать? Android
Android Как создать выдвигающееся слева меню (как в приложении вконтакте)?
Android Как подключаться к БД из разных активностей? Как создать 2 таблицы?
Как отсортировать массив объектов по GregorianCalendar? Java SE
Почему из интерфейса можно создать анонимный класс? Java SE
Как играть по интернету в C&C Generals Zero Hour - Contra 007?
Как обеспечить себе анонимный интернет?
C# Как определить, что тип анонимный?
Objective-C Получение координат раз в n минут в бэкграунде. Get location every n minute in background
Работа с классом GregorianCalendar JavaFX
Рандомная дата GregorianCalendar и непонятки с конструктором Java SE
Java SE Получение текущего времени с объекта GregorianCalendar

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
19.10.2014, 20:23     Как создать анонимный об. GregorianCalendar с поступающими hour и minute? #2
nilamop, http://developer.alexanderklimov.ru/...timepicker.php
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
timepicker = (TimePicker) findViewById(R.id.timePicker1);
        
        Calendar now = Calendar.getInstance();
 
        timepicker.setCurrentHour(now.get(Calendar.HOUR_OF_DAY));
        timepicker.setCurrentMinute(now.get(Calendar.MINUTE));
                timepicker.setIs24HourView(true); // формат 24 часа
        timepicker.setOnTimeChangedListener(new OnTimeChangedListener() {
 
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                Toast.makeText(getApplicationContext(), "onTimeChanged",
                        Toast.LENGTH_SHORT).show();
 
                tvInfo.setText("Часы: " + hourOfDay + "\n" + "Минуты: "
                        + minute);
            }
        });
nilamop
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 22
19.10.2014, 20:35  [ТС]     Как создать анонимный об. GregorianCalendar с поступающими hour и minute? #3
Вы хоть читали мой пост?

Попробую объяснить еще раз. Мне надо в фрагменте реализовать TimePicker. Сначала получить текущее время системы и с ним запустить виджет. Потом в случае изменения(или не), в виджете значений отправить их переменной(объекту). Который будет использоваться совершенно в другом фрагменте. Главная моя проблема это "запись" этих значений в объект(если конечно мой код верен).
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
19.10.2014, 21:29     Как создать анонимный об. GregorianCalendar с поступающими hour и minute? #4
nilamop, вообще, это всё интересно. Я с фрагментами мучаюсь четвёртый месяц, а вот про передачу параметров не знал, использовал или конструктор, или глобальные статические переменные (что нехорошо). Вот неплохая статья на эту тему: http://tttzof351.blogspot.ru/2014/06/android.html.
Скажите, а вы создаёте другой фрагмент сразу после установки времени? Если нет, можете также записывать значение в промежуточный файл, а затем брать оттуда (SharedPreferences).

Добавлено через 12 минут
Товарищ, вы лучше бы сразу объяснили задачу. Правильно ли я понял, что у вас есть некоторый другой фрагмент, из которого вы вызываете этот, устанавливаете время, а затем полученное время возвращаете в тот, другой, фрагмент?
Если так, то тут есть уйма решений. Например, можно попробовать через interface (listener). Обычно этот способ используется для активностей и фрагментов, но, наверное, можно и между фрагментами. http://startandroid.ru/ru/uroki/vse-...vie-s-activity
http://stackoverflow.com/questions/1...ck-to-activity
nilamop
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 22
23.10.2014, 17:10  [ТС]     Как создать анонимный об. GregorianCalendar с поступающими hour и minute? #5
У меня есть фрагмент с списком, при нажатии на пунк создается новый фрагмент с кнопками, одна вызывает выджет с работой даты, другая с работой с временем. Пытался реализовать возвращение в список первого фрагмента данных из виджета "часы". С виджетом "дата" все успешно выходит так как использовал метод init. Буду изучать ваши ссылки. Спасибо.
Yandex
Объявления
23.10.2014, 17:10     Как создать анонимный об. GregorianCalendar с поступающими hour и minute?
Ответ Создать тему
Опции темы

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