Ошибка при вызове DatePickerdialog - PullRequest
1 голос
/ 06 марта 2012

Когда я пытаюсь вызвать DatePickerDialog, происходит сбой приложения, несмотря на то, что я выполняю тот же способ вызова TimePickerDialog, и он работает. любые предложения.

Я проверил пример DatePickerDialog, и он такой же, как я следовал.

                    I STILL Have the Same Problem

Код:

public class PickerActivity extends Activity{

int hour, minute;
int year,month, day;
static final int timePickerId = 0;
static final int datePickerId = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.picker);

    //showDialog(timePickerId); 
    showDialog(datePickerId);
}

@Override    
protected Dialog onCreateDialog(int id) {

    switch (id) {
    /*case timePickerId: 
        return new TimePickerDialog(
            this, mTimeSetListener, hour, minute, true);*/
    case datePickerId:
        return new DatePickerDialog(
            this, mDateSetListener, year, month, day);
}
return null;    
}

private DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() 
        {
            public void onDateSet(DatePicker view, int Year, int monthOfYear,
                    int dayOfMonth) 
            {
                year = Year;
                month = monthOfYear;
                day = dayOfMonth;
                Toast.makeText(getBaseContext(), 
                        "You have selected : " + (month) +
                        "/" + day + "/" + year,
                        Toast.LENGTH_SHORT).show();
            }
        };

LogCat:

03-06 17:52:40.600: E/AndroidRuntime(819): FATAL EXCEPTION: main
03-06 17:52:40.600: E/AndroidRuntime(819): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androidbook.DatePicker/com.androidbook.DatePicker.PickerActivity}: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.os.Looper.loop(Looper.java:130)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-06 17:52:40.600: E/AndroidRuntime(819):  at java.lang.reflect.Method.invokeNative(Native Method)
03-06 17:52:40.600: E/AndroidRuntime(819):  at java.lang.reflect.Method.invoke(Method.java:507)
03-06 17:52:40.600: E/AndroidRuntime(819):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-06 17:52:40.600: E/AndroidRuntime(819):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-06 17:52:40.600: E/AndroidRuntime(819):  at dalvik.system.NativeStart.main(Native Method)
03-06 17:52:40.600: E/AndroidRuntime(819): Caused by: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.widget.DatePicker.updateDaySpinner(DatePicker.java:397)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.widget.DatePicker.updateSpinners(DatePicker.java:383)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.widget.DatePicker.init(DatePicker.java:379)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86)
03-06 17:52:40.600: E/AndroidRuntime(819):  at com.androidbook.DatePicker.PickerActivity.onCreateDialog(PickerActivity.java:39)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.Activity.onCreateDialog(Activity.java:2482)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.Activity.createDialog(Activity.java:882)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.Activity.showDialog(Activity.java:2557)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.Activity.showDialog(Activity.java:2524)
03-06 17:52:40.600: E/AndroidRuntime(819):  at com.androidbook.DatePicker.PickerActivity.onCreate(PickerActivity.java:27)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-06 17:52:40.600: E/AndroidRuntime(819):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-06 17:52:40.600: E/AndroidRuntime(819):  ... 11 more
03-06 17:54:56.370: E/AndroidRuntime(852): FATAL EXCEPTION: main
03-06 17:54:56.370: E/AndroidRuntime(852): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androidbook.DatePicker/com.androidbook.DatePicker.PickerActivity}: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.os.Looper.loop(Looper.java:130)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-06 17:54:56.370: E/AndroidRuntime(852):  at java.lang.reflect.Method.invokeNative(Native Method)
03-06 17:54:56.370: E/AndroidRuntime(852):  at java.lang.reflect.Method.invoke(Method.java:507)
03-06 17:54:56.370: E/AndroidRuntime(852):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-06 17:54:56.370: E/AndroidRuntime(852):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-06 17:54:56.370: E/AndroidRuntime(852):  at dalvik.system.NativeStart.main(Native Method)
03-06 17:54:56.370: E/AndroidRuntime(852): Caused by: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.widget.DatePicker.updateDaySpinner(DatePicker.java:397)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.widget.DatePicker.updateSpinners(DatePicker.java:383)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.widget.DatePicker.init(DatePicker.java:379)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86)
03-06 17:54:56.370: E/AndroidRuntime(852):  at com.androidbook.DatePicker.PickerActivity.onCreateDialog(PickerActivity.java:39)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.Activity.onCreateDialog(Activity.java:2482)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.Activity.createDialog(Activity.java:882)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.Activity.showDialog(Activity.java:2557)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.Activity.showDialog(Activity.java:2524)
03-06 17:54:56.370: E/AndroidRuntime(852):  at com.androidbook.DatePicker.PickerActivity.onCreate(PickerActivity.java:27)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-06 17:54:56.370: E/AndroidRuntime(852):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-06 17:54:56.370: E/AndroidRuntime(852):  ... 11 more
03-06 17:55:12.010: E/AndroidRuntime(886): FATAL EXCEPTION: main
03-06 17:55:12.010: E/AndroidRuntime(886): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androidbook.DatePicker/com.androidbook.DatePicker.PickerActivity}: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.os.Looper.loop(Looper.java:130)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-06 17:55:12.010: E/AndroidRuntime(886):  at java.lang.reflect.Method.invokeNative(Native Method)
03-06 17:55:12.010: E/AndroidRuntime(886):  at java.lang.reflect.Method.invoke(Method.java:507)
03-06 17:55:12.010: E/AndroidRuntime(886):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-06 17:55:12.010: E/AndroidRuntime(886):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-06 17:55:12.010: E/AndroidRuntime(886):  at dalvik.system.NativeStart.main(Native Method)
03-06 17:55:12.010: E/AndroidRuntime(886): Caused by: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.widget.DatePicker.updateDaySpinner(DatePicker.java:397)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.widget.DatePicker.updateSpinners(DatePicker.java:383)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.widget.DatePicker.init(DatePicker.java:379)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86)
03-06 17:55:12.010: E/AndroidRuntime(886):  at com.androidbook.DatePicker.PickerActivity.onCreateDialog(PickerActivity.java:39)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.Activity.onCreateDialog(Activity.java:2482)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.Activity.createDialog(Activity.java:882)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.Activity.showDialog(Activity.java:2557)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.Activity.showDialog(Activity.java:2524)
03-06 17:55:12.010: E/AndroidRuntime(886):  at com.androidbook.DatePicker.PickerActivity.onCreate(PickerActivity.java:27)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-06 17:55:12.010: E/AndroidRuntime(886):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-06 17:55:12.010: E/AndroidRuntime(886):  ... 11 more
03-06 17:58:35.520: E/AndroidRuntime(920): FATAL EXCEPTION: main
03-06 17:58:35.520: E/AndroidRuntime(920): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androidbook.DatePicker/com.androidbook.DatePicker.PickerActivity}: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.os.Looper.loop(Looper.java:130)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-06 17:58:35.520: E/AndroidRuntime(920):  at java.lang.reflect.Method.invokeNative(Native Method)
03-06 17:58:35.520: E/AndroidRuntime(920):  at java.lang.reflect.Method.invoke(Method.java:507)
03-06 17:58:35.520: E/AndroidRuntime(920):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-06 17:58:35.520: E/AndroidRuntime(920):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-06 17:58:35.520: E/AndroidRuntime(920):  at dalvik.system.NativeStart.main(Native Method)
03-06 17:58:35.520: E/AndroidRuntime(920): Caused by: java.lang.IllegalArgumentException: current should be >= start and <= end
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.widget.DatePicker.updateDaySpinner(DatePicker.java:397)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.widget.DatePicker.updateSpinners(DatePicker.java:383)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.widget.DatePicker.init(DatePicker.java:379)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86)
03-06 17:58:35.520: E/AndroidRuntime(920):  at com.androidbook.DatePicker.PickerActivity.onCreateDialog(PickerActivity.java:38)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.Activity.onCreateDialog(Activity.java:2482)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.Activity.createDialog(Activity.java:882)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.Activity.showDialog(Activity.java:2557)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.Activity.showDialog(Activity.java:2524)
03-06 17:58:35.520: E/AndroidRuntime(920):  at com.androidbook.DatePicker.PickerActivity.onCreate(PickerActivity.java:27)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-06 17:58:35.520: E/AndroidRuntime(920):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-06 17:58:35.520: E/AndroidRuntime(920):  ... 11 more

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

java.lang.IllegalArgumentException: текущее должно быть> = начало и <= конец </p>

Похоже, вы не установили день, месяц, год в правильное значение.

2 голосов
/ 05 декабря 2012

Год или месяц имеют недопустимое значение.Попробуйте с urdate.getYear() + 1900, так как год с 1900. Диапазон месяцев urdate.getMonth с 0-11.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...