L'ajout d'un auditeur à un certain nombre de sélecteur de widget
Je suis en train de travailler sur l'intégration d'un certain nombre de sélecteur à ma demande. L'activité affiche une liste d'éléments, chacun avec un nombre de sélecteur. L'utilisateur peut augmenter ou de diminuer la quantité à l'aide du numéro de sélecteur. Comme ils le font je voudrais mettre à jour un TextView indiquant le prix.
J'ai couru dans la difficulté lorsque vous essayez d'atteindre cet objectif. J'ai fait un projet simple et tenté pour essayer d'afficher un toast message lorsque l'utilisateur clique sur le widget, mais en vain.
Ma conjecture est que le nombre de widget n'est pas traité comme un bouton à cet effet un écouteur de clics ne fonctionne pas? Je vous serais reconnaissant de tout conseil en ce qui concerne l'ajout d'un écouteur.
Ci-dessous mon code:
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();
}
});
}
np.setClickable (true)
si tout ce que vous voulez sont des événements de clic. Toutefois, si vous voulez écouter un changement de numéro, pourquoi ne pas utiliser OnValueChangeListener?OriginalL'auteur Javacadabra | 2013-01-06
Vous devez vous connecter pour publier un commentaire.
À l'auditeur
Picker
, votre activité doit mettre en place le sélecteur de l'interface d'écouteur. (En fait, votre activité n'est pas obligatoire de mettre en œuvre l'interface, vous pouvez également utiliser anonyme méthode interne. Tout ce qui fonctionne.)Dans votre activité:
votre accueil 🙂
N'est-ce pas travailler avec un fragment?
Il fonctionne avec n'importe quelle classe vous attachez de l'auditeur. Si vous ne voulez pas modifier les classes puis utilisez @nitsujri réponse
OriginalL'auteur Zyoo
Pour les nouveaux développeurs Android (comme moi), l'activité elle-même n'est pas nécessaires pour mettre en œuvre l'auditeur. Il a juste besoin d'être passé dans la
setOnValueChangedListener()
.Cela permet d'éviter les trop nombreux
implements
et trop nombreux chevauchements@Overrides
.Exemple:
OriginalL'auteur nitsujri
vous aurez besoin de mettre NumberPicker.setOnValueChangedListener notifiés sur le changement de la valeur actuelle de
NumberPicker
voir ce exemple comment nous avons mis
setOnValueChangedListener
pour NumberPickerOriginalL'auteur ρяσѕρєя K