2017-04-05 3 views
1

번호 선택 도구가 있으며 문자열 배열로 채 웁니다.숫자 선택기에서 선택한 항목을 두 번 열 때 강조 표시합니다.

final String[] power = {"0.00", "0.25", "0.50", "0.75","1.00"}; 
npPowerSecond.setMinValue(0); 
npPowerSecond.setMaxValue(power.length - 1); 
npPowerSecond.setDisplayedValues(power); 

위의 값을 표시합니다. 숫자 선택기를 열면 선택된 값으로 "0.00"이 표시됩니다. 이제 "0.50"을 선택합니다. 이제 번호 선택기를 열면 선택된 값으로 "0.50"이 표시됩니다.

도와주세요. 이것을 어떻게 할 수 있습니까?

답변

3
npPowerSecond.setValue(2); 

setvalue를 사용하십시오.

0
npPowerSecond.setValue(selectedNumber); 

값을 선택한 후 해당 번호 선택기로 값을 설정하십시오. 나는 그것이 당신을 도울 것이라고 생각합니다.

1

마지막으로 선택한 위치 NumberPickerSharedPreferences으로 저장해야합니다. 저장을 위해 그 후, 매번 당신이 NumberPicker을 열고, 당신은에서 정수를 얻을/사용하여에 대한 void setValue (int value)

final String[] power = { "0.00", "0.25", "0.50", "0.75s", "1.00s" }; 
NumberPicker numberPicker = (NumberPicker) findViewById(R.id.numberPicker); 
numberPicker.setMinValue(0); 
numberPicker.setMaxValue(power.length - 1); 
numberPicker.setDisplayedValues(power); 
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { 
    @Override 
    public void onValueChange(NumberPicker picker, int oldVal, int newVal) { 
     // any time your number picker change, we will save it to SharedPreferences 
     saveIntToSharedPreferences(mContext, PREF_NUMBER_PICKER_LAST_SELECTED_POSITION, newVal); 
    } 
}); 
// when we open screen, we will select the last selected value by use setValue(...) 
numberPicker.setValue(
     getIntFromSharedPreferences(mContext, PREF_NUMBER_PICKER_LAST_SELECTED_POSITION)); 

도우미 기능을 기본 선택 위치를 설정해야합니다 SharedPreferences

private void saveIntToSharedPreferences(Context context, String key, int value) { 
    SharedPreferences sharedPreferences = 
      PreferenceManager.getDefaultSharedPreferences(context); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.putInt(key, value); 
    editor.apply(); 
} 

private int getIntFromSharedPreferences(Context context, String key) { 
    SharedPreferences sharedPreferences = 
      PreferenceManager.getDefaultSharedPreferences(context); 
    return sharedPreferences.getInt(key, 0); 
}