2017-07-07 3 views
-3

Je travaille sur une application Android pour les étudiants où les étudiants peuvent essayer et voir leur test.Passage de valeur de ArrayAdapter à l'activité

J'affiche un test pour l'étudiant dans une liste dans une activité. Je veux aussi afficher les marques totales et obtenues de l'étudiant.

C'est la fonction getView de mon ArrayAdapter. Lors de la définition d'un élément dans ListView, je veux passer les marques de cette question à mon activité. Je n'ai trouvé aucune solution pour cela. Une idée?

Merci pour votre aide à l'avance

Répondre

1

Vous pouvez créer une méthode publique dans votre Activity comme suit:

public void setMarks(int marks){ 
    this.marks = marks 
} 

Ensuite, dans votre ArrayAdapter vous pouvez effectuer les opérations suivantes:

private YourActivity yourActivity; 

public YourArrayAdapter(YourActivity yourActivity) { 

    this.yourActivity = yourActivity; 

} 

Puis dans votre getView():

yourActivity.setMarks(marks); 
+0

Merci, Votre solution a fonctionné. Mais j'ai un problème, j'appelle 'myActivity.setMarks (marks)' dans 'getView()' mais 'getView()' s'appelle deux fois pour chaque élément. – Taimoor

+1

Je suis heureux que la solution a fonctionné. Cependant, pour que votre requête de getView() soit appelée plusieurs fois, je vous suggère de poser une question distincte pour que la question actuelle ne sorte pas du sujet. Veuillez également accepter la réponse si vous estimez que la solution à la question actuelle a fonctionné. Merci :). Aussi, s'il vous plaît passer par ce qui suit: https://stackoverflow.com/questions/2872996/best-way-handle-multiple-getview-calls-from-inside-a-adapter – sri