2014-01-07 3 views
1

나는 음수 값과 양수 값을 갖는 배열을 가지고 있습니다. 그러나 앱을 시작할 때 나는 선택기에서 최소값만을 볼 수 있습니다.안드로이드 numberpicker 음수 값

int min = -25; 
int max = 100; 
int jumpBy = 5; 

     String [] refl_Str = new String[((max-min)/jumpBy)+1]; 


     for (int i = 0; i < refl_Str.length; i++) 
     { 
      refl_Str[i] = Integer.toString(min+(i*jumpBy)); 


     } 

     np.setDisplayedValues(refl_Str); 

내가 추가 할 때 :

np.setMaxValue(100); 
np.setMinValue(-25); 

나는 numberpicker에서 음의 값에 오류가 발생합니다.

+0

가능한 복제 [안드로이드 NumberPicker - 음수 (HTTP : // 유래를 .com/questions/14357520/android-numberpicker-negative-numbers) – user276648

답변

2

당신은 할 코드를 사용할 수 있습니다 :

다음
final int minValue = -25 
final int maxValue = 100 
NumberPicker numberPicker = new NumberPicker(myActivity); 
numberPicker.setMinValue(0); 
numberPicker.setMaxValue(maxValue - minValue); 
numberPicker.setValue(myCurrentValue - minValue); 
numberPicker.setFormatter(new NumberPicker.Formatter() { 
    @Override 
    public String format(int index) { 
     return Integer.toString(index - minValue); 
    } 
}); 

선택한 값을 다시 얻을 :

int myNewValue = numberPicker.getValue() + minValue 
+0

5로 점프하는 것은 어떨까요? – Dim

+0

이것은 단지 setMinValue를 '0'으로 설정하고 setMaxValue를 'maxValue - minValue'로 설정해야하며, 코드처럼 처리 할 수있는 다른 예제입니다. –

+0

Nexus5와 Lollipop에서는 작동하지 않습니다. 내가 선택기 휠을 움직이면, 숫자는 -minvalue로 점프합니다. – ARLabs