Comment faire pour incrémenter la valeur d'une variable int?
Je tiens à incrémenter la valeur d'une variable int chaque fois qu'un utilisateur appuie sur un bouton, mais pour l'instant, la valeur est incrémentée qu'une seule fois.
C'est ce que j'utilise pour incrémenter la valeur de la variable p
.
@Override
public void onClick(View v) {
int p = 1;
if (p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
} else {
p = p + 1;
holder.textViewQuantity.setText("" + p);
}
}
- déplacer
int p = 1;
en tant que membre de la classe. - Pas sûr, et pas sûr pourquoi, la clôture des votes, il a clairement un problème assez avec assez de code pour illustrer.
- je suis à l'aide de p pour augmenter la quantité de produit, comme j'ai 3 éléments dans une Liste, et j'ai laissé p avec 4 pour le premier élément de la liste et maintenant dans le deuxième élément de la liste lorsque je fais un clic sur le bouton d'incrémentation il en montrant directement 5 au lieu de 2 ... de sorte que son principal problème, je suis confronté à
- Donc, vous din même pas la peine de voir les réponses que les gens donnent ici parce que ce n'était pas votre question ?
- Une fois de plus cet utilisateur frappé avec un "trop complexe" la question qui, de l'attendre, n'est même pas son vrai question. Peut-être que vous, chers OP, du début à la expliquer ce que vous voulez et ce que vous avez essayé jusqu'à présent. Propre et facile à comprendre des phrases. (a côté de cela: la définition de la valeur dans un viewholder entraînera dans de drôles de résultats dès que vous faites défiler votre liste... vous avez plus de questions que de l'augmentation d'une valeur! ... juste pour dire)
Vous devez vous connecter pour publier un commentaire.
Quand
p
est à l'intérieur de la méthode, il est un variable locale et est une valeur unique pour chaque invocation de méthode, initialisé comme1
à chaque fois.Déplaçant à la classe à laquelle il devient un variable d'instance (ALIAS de champ) et maintient sa dernière valeur de la longueur de la durée de vie de l'instance de classe.
Lire ce doc sur les 4 types de variables pour plus d'informations.
p
) de l'élément de la liste de classe. Si ce n'est pas approprié, puis une nouvelle classe qui contient la classe de produit et une quantité est en ordre.Variable
p
doit être un membre de la classe:Déclarer comme variable globale. Rendre visible pour l'ensemble de la classe (je suppose, vous n'êtes pas la déclaration de l'objet, encore et encore). Au moment de la portée de la variable est limitée à la fonction et cette variable prend la valeur de 1 à chaque fois que l'événement se produit.
chaque fois que cet événement est appelé, votre valeur p est la valeur attribuée à l'1.
déplacer l'int p = 1 de la fonction, vous êtes à la réinitialisation de p à 1 onclick.
Votre code doit être comme ci-dessous :
int p doit être un membre de la classe.
Vous pouvez faire votre variable statique, alors il faudra compter tous les bouton de robinets pour la classe donnée:
private int p = 0;