Oie
Decidi implementar o NumberPicker no meu aplicativo
Mas o que eu nao sei é receber o dado quando o botao de mais ou menos é pressionado
Nao sei se é simples
Alguem pode me ajudar?
estou usando assim:
public void numeros(){
int numero = 0;
NumberPicker np = (NumberPicker) findViewById (R.qtde.numero);
EditText campoTotal = (EditText) findViewById(R.editText.total);
String totalString;
String[] nums = new String[20];
for (int i = 0; i<nums.length;i++)
nums[i] = Integer.toString(i);
np.setMinValue(0);
np.setMaxValue(20);
np.setWrapSelectorWheel(false);
np.setDisplayedValues(nums);
np.setValue(0);
/*numero = Integer.parseInt(np.getDisplayedValues().toString());
total += 2 * numero;
totalString = String.valueOf(total);
campoTotal.setText(totalString);*/
}
Mas com certeza nao esta certo pois nao funciona
A intencao é, pegar o valor naquela caixinha, multiplicar com um valor qualquer e mostrar num EditText
Desde ja agradeço!
Vlw
Tente isso:
numero = np.getValue();
campoTotal.setText(""+numero * numeroQualquer);
Cara no seu caso você tem que implementar um listener para o NumberPicker chamado:
NumberPicker.OnValueChangeListener
essa implentação pode ser feita de diversas formas. Exemplos:
Sua Activity implentar:
public class SuaActivity extends Activity implements NumberPicker.OnValueChangeListener{
//seu codigo
//desse jeito a IDE ira te forçar a implentar o metodo na classe
seuNumberPicker.setOnValueChanged(this);
@Override
protected NumberPicker.OnValueChangeListener
onValueChange(NumberPicker picker, int valorAntigo, int valorAtuall)
campoTotal.setText(""+valorAtual* numeroQualquer);
}
Outra opção é implementar um metodo que retorna o listener e referenciar no seu componente:
public class SuaActivity extends Activity{
//seu codigo
seuNumberPicker.setOnValueChanged(seuMetodo);
protected NumberPicker.OnValueChangeListener seuMetodo(){
return new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int valorAntigo, int valorAtuall) {
campoTotal.setText(""+valorAtual* numeroQualquer);
}
});
}
}
e por ultimo dentre os diversos exemplos esse é o mais comum o que todo mundo ensina, porém o mais dificil para manutenção e provavelmente o que foge das melhores praticas.
public class SuaActivity extends Activity{
//seu codigo
seuNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int valorAntigo, int valorAtual) {
campoTotal.setText(""+valorAtual* numeroQualquer);
}
});
}
Assim toda vez que o usuario clicar no botão de +,- ou alterar o valor pelo teclado o seu editText será atualizado.
Espero ter ajudado
Até mais.