2013-11-30 3 views
0

В моем коде я реализую myint ++ при прокрутке вверх и myint-- при прокрутке вниз. Но я хочу, чтобы myint не превышал определенные значения, то есть я не хочу, чтобы значение myint превышало 10 или ниже 0. Я не могу найти, как это сделать. Любая помощь приветствуется :)Установка максимального значения для integer в android

int navX = navPref.getInt("navXPref", 5); 
    int navY = navPref.getInt("navYPref", 5); 

    switch (direction) { 

     case SimpleGestureFilter.SWIPE_RIGHT : navX++; 
              prefEditor.putInt("navXPref", navX); 
              prefEditor.apply(); 
               break; 
    case SimpleGestureFilter.SWIPE_LEFT : navX--; 
              prefEditor.putInt("navXPref", navX); 
              prefEditor.apply(); 
               break; 
    case SimpleGestureFilter.SWIPE_DOWN : navY--; 
              prefEditor.putInt("navYPref", navY); 
              prefEditor.apply(); 
               break; 
    case SimpleGestureFilter.SWIPE_UP : navY++; 
             prefEditor.putInt("navYPref", navY); 
             prefEditor.apply(); 
               break; 

    } 
+0

Если вы хотите сохранить тип данных как Int, вы должны сделать что-то вроде 'если (ВОЕННО-МОРСКОЙ ФЛОТ <0) {= 0 Военно-морского флота; } ', в противном случае вы бы определили значение navY как другой тип данных. – JDong

+0

Это то, что я пытался реализовать, но где? Будет ли это идти между navX ++ и prefEditor.putInt ...? – anomeric

+0

сразу после всех обновлений вашего коммутатора. Недостатком того, что я рекомендовал, является то, что вы были бы склонны реорганизовать свой код, чтобы применить значение после проверки границ. Положительным моментом является то, что у вас, вероятно, будет меньше строк кода. – JDong

ответ

1

Почему бы просто не сделать заявление if?

case SimpleGestureFilter.SWIPE_DOWN : if(navY > 0) 
              navY--; 
             prefEditor.putInt("navYPref", navY); 
             prefEditor.apply(); 
             break; 
    case SimpleGestureFilter.SWIPE_UP : if(navY < 10) 
              navY++; 
             prefEditor.putInt("navYPref", navY); 
             prefEditor.apply(); 
             break; 
+0

Хахаха, это так просто ... Я немного новичок в этом, и я был под дезинформированным предположением, что если утверждения должны содержаться в try {}. Спасибо за разъяснения! – anomeric

0

Альтернативное решение:

switch (direction) { 
    case SimpleGestureFilter.SWIPE_RIGHT : navX++; break; 
    case SimpleGestureFilter.SWIPE_LEFT : navX--; break; 
    case SimpleGestureFilter.SWIPE_DOWN : navY--; break; 
    case SimpleGestureFilter.SWIPE_UP : navY++; break; 
} 
if (navX < 0) { navX = 0; } 
if (navY < 0) { navY = 0; } 
if (navX > 10) { navX = 10; } 
if (navY > 10) { navY = 10; } 
prefEditor.putInt("navXPref", navX); 
prefEditor.apply(); 
prefEditor.putInt("navYPref", navY); 
prefEditor.apply(); 
Смежные вопросы