Страница 3 из 4

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 15 фев 2015, 12:52
altwin
Iren писал(а):А как внести ограничения на выбор даты? Чтобы нельзя было выбрать дату ранее текущей и запретить вращать год?
[syntax=java5]date.getDatePicker().setMaxDate(System.currentTimeMillis());[/syntax]

[syntax=java5]Calendar calendar = Calendar.getInstance();
int currentYear = calendar.get(Calendar.YEAR);
int currentMonth = calendar.get(Calendar.MONTH);
int currentDay = calendar.get(Calendar.DAY_OF_MONTH);

DatePickerDialog datePickerDialog = new DatePickerDialog(this, listener, currentYear, currentMonth, currentDay);
DatePicker dp = datePickerDialog.getDatePicker();
dp.setMinDate(calendar.getTimeInMillis());
return datePickerDialog;[/syntax]
с годом к примеру можно просто выбрать диапазон:
[syntax=java5]DatePickerDialog dp = new DatePickerDialog(this,
datePickerListener, year, month, day);


long maxDate;
Date newDate = c.getTime();
dp.getDatePicker().setMinDate(newDate.getTime());
dp.getDatePicker().setMaxDate(maxDate);[/syntax]

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 13:10
Eagle
Вставил код из "Урок 58" и теперь надо вставить код из урока 59 как их совместить?
т.е ответе:

Экран main.xml:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

И в Код MainActivity.java:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

Или так долго наверно никто не ответит, легче просто позвонить по скайпу и сказать куда вставлять код

Помогите пожалуйста

Мой скайп: eagle_bratsk - всё сделаю быстренько у вас займёт менее минуты.

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 13:54
doter.ua
Eagle писал(а):Вставил код из "Урок 58" и теперь надо вставить код из урока 59 как их совместить?
т.е ответе:

Экран main.xml:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

И в Код MainActivity.java:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

Или так долго наверно никто не ответит, легче просто позвонить по скайпу и сказать куда вставлять код

Помогите пожалуйста

Мой скайп: eagle_bratsk - всё сделаю быстренько у вас займёт менее минуты.
Кодеры конечно много гуглят и копипастят, но они хотябы понимают что ищут\копируют.

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 14:11
Eagle
doter.ua писал(а):
Eagle писал(а):Вставил код из "Урок 58" и теперь надо вставить код из урока 59 как их совместить?
т.е ответе:

Экран main.xml:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

И в Код MainActivity.java:

в конце какой строки начать вставлять код (код с урока 59) и с какой строки его брать

Или так долго наверно никто не ответит, легче просто позвонить по скайпу и сказать куда вставлять код

Помогите пожалуйста

Мой скайп: eagle_bratsk - всё сделаю быстренько у вас займёт менее минуты.
Кодеры конечно много гуглят и копипастят, но они хотябы понимают что ищут\копируют.
Помогите пожалуйста в скайпе займёт менеее минуты

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 14:29
doter.ua

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 17:27
Eagle
это же платно?

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 01 мар 2015, 21:02
doter.ua
Eagle писал(а):это же платно?
Ты о чем?

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 02 мар 2015, 12:16
Eagle
doter.ua писал(а):
Eagle писал(а):это же платно?
Ты о чем?
скачал архив, скажите пожалуйста куда его разархивировать ? или что?

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 04 мар 2015, 07:19
Eagle
ответе пожалуйста КТОНИТЬ

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 04 мар 2015, 19:04
Eagle
мм?

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 04 мар 2015, 19:11
doter.ua
Eagle писал(а):мм?
Ты на стековерфлоу первый раз зашел? первый пост это вопрос, смотри ниже ответы, там есть примеры.
http://stackoverflow.com/a/14254351/3737860

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 04 мар 2015, 19:19
Eagle
doter.ua писал(а):
Eagle писал(а):мм?
Ты на стековерфлоу первый раз зашел? первый пост это вопрос, смотри ниже ответы, там есть примеры.
http://stackoverflow.com/a/14254351/3737860
ну во первых первый раз а во вторых в конце его вопроса ссылка на архив, а в остальном я разобрался просто спросил как ег опроект открыть у себя

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 12 мар 2015, 17:39
Iren
Подскажите, пожалуйста, можно как-нибудь русифицировать барабан? И вместо системного белого фона поставить свой и вместо голубых полосок - красные? Если возможно, буду благодарна за помощь.

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 12 мар 2015, 17:50
doter.ua
Iren писал(а):Подскажите, пожалуйста, можно как-нибудь русифицировать барабан? И вместо системного белого фона поставить свой и вместо голубых полосок - красные? Если возможно, буду благодарна за помощь.
Скорее всего язык от настроек системы зависит. Со стилями посложнее http://stackoverflow.com/a/20291416

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 29 апр 2015, 16:19
Lordis
Подскажите, пожалуйста, Андроид Студио ругается на устаревший код... Где я могу найти информацию о том, что нужно использовать вместо зачеркнутого кода? Спасибо.
123.png
123.png (134.44 КБ) 11520 просмотров

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 29 апр 2015, 16:52
doter.ua
Lordis писал(а):Подскажите, пожалуйста,
Первая ссылка по запросу "android showdialog deprecated":
http://stackoverflow.com/a/13990289

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 17 авг 2015, 16:05
TheCoder
Всем привет. Такой вопрос: как установить в сам picker дату, которую пользователь выбрал ранее? Сначала я устанавливаю в picker текущую дату, а при повторном вызове picker-а есть необходимость установить в него ранее выбранную дату, а не текущую. Возможно, вопрос глупый, но решения я не нашел. Заранее спасибо

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 17 авг 2015, 16:11
Foenix
сохранять нужно куда-то, например в sharedPreferences (есть урок)

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 17 авг 2015, 16:52
TheCoder
Foenix писал(а):сохранять нужно куда-то, например в sharedPreferences (есть урок)
Спасибо, хотел использовать его, но думал есть другие варианты

Re: Урок 59. Диалоги. DatePickerDialog

Добавлено: 29 авг 2015, 13:16
dmitry_n
Может быть, пригодится кому-то. Вместо deprecated-методов нужно использовать DialogFragment, вот код (объединил дату и время в одном уроке):

activity_main.xml

Код: Выделить всё

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView
        android:text="Press n choose date"
        android:layout_width="wrap_content"
        android:id="@+id/tvDate"
        android:textSize="22sp"
        android:onClick="onDateClick"
        android:clickable="true"
        android:layout_height="wrap_content" />
    <TextView
        android:text="Press n choose time"
        android:id="@+id/tvTime"
        android:textSize="22sp"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:layout_below="@id/tvDate"
        android:onClick="onTimeClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>
MainActivity.java

Код: Выделить всё

public class MainActivity extends Activity {

    static TextView tvDate;
    static TextView tvTime;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvDate = (TextView)findViewById(R.id.tvDate);
        tvTime = (TextView)findViewById(R.id.tvTime);
    }

    public void onTimeClick(View v) {
        DialogFragment dFrag = new TimePickerFragment();
        dFrag.show(getFragmentManager(), "timePicker" );
    }

    public void onDateClick(View v) {
        DialogFragment dFrag = new DatePickerFragment();
        dFrag.show(getFragmentManager(), "datePicker");
    }

    public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            Calendar calendar = Calendar.getInstance();
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            return new TimePickerDialog(getActivity(), this, hour, minute, true);
        }

        @Override
        public void onTimeSet(TimePicker timePicker, int i, int i2) {
            tvTime.setText("Time is " + i + ":" + i2);
        }
    }

    public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            Calendar calendar = Calendar.getInstance();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(getActivity(), this, year, month, day);
        }

        @Override
        public void onDateSet(DatePicker datePicker, int i, int i2, int i3) {
            tvDate.setText("Date is " + i3 + "." + (i2+1) + "." + i);
        }
    }
}
Пришлось сделать tvDate и tvTime статическими, так как классы Picker'ы должны быть static тоже