2014-10-25 3 views
0

Я получаю сообщение об ошибке в этом операторе switch, называемом Duplicate case, хотя я не уверен, в чем проблема, я определил каждый случай вместе с возвращаемым значением. Я использую это для диалога, который я использую для макетов DatePicker и TimePicker для Android. Пожалуйста, дайте мне знать, если я неправильно определяю случаи дела или что-то еще не так.Ошибка выписки спрятателя ошибки

protected Dialog onCreateDialog(int id){ 
    switch(id) 
    { 

    case Time_dialog_id: 
     return new TimePickerDialog(this, mTimeSetListener, hour, minute, false); 

    case Date_dialog_id: 
     return new DatePickerDialog(this, pDateSetListener, pYear, pMonth, pDay); 
    } 
    return null; 

} 
+0

Как вы объявляете идентификаторы? – harism

+0

static final int Date_dialog_id = 0; статический окончательный int Time_dialog_id = 0; – ssj3goku878

+0

Ну вы видите что-то странное? Вы объявляете оба идентификатора равными нулю. Разве они не должны быть отдельными ценностями? – harism

ответ

2

я думаю, что проблема в том, что как Date_dialog_id и Time_dialog_id инициализируются . дать им разные значения.

static final int Time_dialog_id = 0; 
static final int Date_dialog_id = 1; 

protected void test(int id){ 

    switch(id){ 
    case Time_dialog_id: 
     Log.d("test()", "Time_dialog_id:"); 
     break; 
    case Date_dialog_id: 
     Log.d("test()", "Date_dialog_id:"); 
     break; 
    } 
} 
+0

Я уже дал ответ вчера вечером ... но да, хорошая РАБОТА -, - – Vlad

0
protected Dialog onCreateDialog(int id){ 
switch(id) 
{ 

case Time_dialog_id: 
    return new TimePickerDialog(this, mTimeSetListener, hour, minute, false); 
break; 

case Date_dialog_id: 
    return new DatePickerDialog(this, pDateSetListener, pYear, pMonth, pDay); 
break; 
} 
return null; 

} 

Вы забыли «сломать;». Я полагаю, это то, что пристанет код.

+0

Я добавил перерыв, но он по-прежнему дает мне ту же ошибку в дубликат случае. – ssj3goku878

+0

Не могли бы вы связать журнал? -Невероятно, журнал не поможет мне, я полагаю. статический окончательный int Date_dialog_id = 0; статический окончательный int Time_dialog_id = 0; Вот как вы их объявляете, не могли бы вы попытаться дать Time_dialog_id значение 1, когда объявлено? статический окончательный int Date_dialog_id = 0; статический окончательный int Time_dialog_id = 1; (Пример) P.S: Извините за изменения, не можете привыкнуть к тому, что Return опубликует мой комментарий. – Vlad

+0

http://i.imgur.com/iPcKdtq.png – ssj3goku878

Смежные вопросы