2013-08-27 2 views
2

API 수준 11 NumberPicker는 getValue 메서드에서 int 값을 반환하고 SimonVT numberpicker는 int 값을 반환합니다.NumberPicker에서 float/double 가져 오는 중

그러나 나는 다음과 같은 코드를 사용하여 숫자 피커 더블 값을 설정했다 :

String[] nums = {"1","1.5","2","2.5","3","3.5","4","4.5","5","5.5","6","6.5","7","7.5","8","8.5","9"}; 

final NumberPicker listeningScorenp = (NumberPicker) findViewById(R.id.listeningScore); 
listeningScorenp.setMaxValue(nums.length-1); 
listeningScorenp.setMinValue(0); 
listeningScorenp.setWrapSelectorWheel(false); 
listeningScorenp.setDisplayedValues(nums); 

은 지금은 플로트 NUmberPicker에서/더블 값을 검색하는 방법에 붙어있다.

답변

4

난 그냥 코드를 사용하여 테스트했습니다. getValue()는 실제로 표시된 값을 설정할 때만 선택한 항목의 인덱스를 반환합니다. 문자열을 파싱하는 것만으로도 원하는 것을 얻을 수 있습니다. 예를 들어 당신이 분수로 플로트를 포맷하고 싶다면

String[] nums = {"1","1.5","2","2.5","3","3.5","4","4.5","5","5.5","6","6.5","7","7.5","8","8.5","9"}; 
int index = listeningScorenp.getValue(); 
String val = nums[index]; 
float selectedFloat = Float.parseFloat(val); 
+0

은 또한 당신은 NumberPicker.Formatter https://developer.android.com/reference/android/widget/NumberPicker.Formatter.html를 사용할 수있는 옵션이 당신의 현 – Maks