Pracuję nad zintegrowaniem selektora liczb z moją aplikacją. Aktywność wyświetla listę przedmiotów, każdy z selektorem liczb. Użytkownik może zwiększyć lub zmniejszyć ilość za pomocą selektora liczb. Czyniąc to, chciałbym zaktualizować TextView pokazujący cenę.Dodawanie odbiornika do widgetu selektora liczb
Wpadłem w trudność, próbując to osiągnąć. Zrobiłem prosty projekt i próbowałem wyświetlić komunikat z tostem, gdy użytkownik kliknął widżet, ale bez skutku.
Zgaduję, że widżet liczbowy nie jest traktowany jak przycisk, ponieważ odbiornik kliknięć nie działa? Byłbym wdzięczny za wszelkie porady dotyczące dodawania słuchacza.
Poniżej jest mój kod:
NumberPicker np;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
np = (NumberPicker)findViewById(R.id.numberPicker1);
np.setMaxValue(99);
np.setMinValue(0);
np.setValue(50);
np.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "Number selected", Toast.LENGTH_SHORT).show();
}
});
}
Być może trzeba zrobić 'np.setClickable (true)' jeśli tylko chcesz to kliknij wydarzenia. Jeśli jednak chcesz posłuchać zmiany numeru, możesz skorzystać z [OnValueChangeListener] (http://developer.android.com/reference/android/widget/NumberPicker.OnValueChangeListener.html)? –