2011-09-02 4 views
3

Ceci est la première semaine d'Android pour moi!Android cliquez sur le bouton populate textview

Je crée par programme une vue de texte, deux étiquettes et un bouton dans la même activité. L'idée est que le textview reçoive une chaîne de l'utilisateur. L'utilisateur clique sur le bouton et la chaîne textview est transmise à un proc qui renvoie un résultat de chaîne, et le résultat de la chaîne est attribué à l'une des étiquettes.

public void onClick(View view) { 
    sresults = showPP(ttsymbol.getText().toString().trim()); 
} 

Mais cela ne fonctionne pas, parce que « les sresults variables locales finales ne peuvent pas être affectés, car il est défini dans un type englobante »

Je pense que je comprends ce qui va mal, mais est-il une alternative pour renvoyer les résultats afin qu'ils puissent être affichés sur l'étiquette? Ou est-il nécessaire de créer une nouvelle boîte de dialogue dans la fonction onClick pour les afficher?

Merci!

+0

Afficher plus de code. –

+0

Essayez de supprimer le mot-clé final de sresult, mais ce n'est qu'une idée. S'il vous plaît, montrez plus de code détaillé pour nous. – kameny

+0

Que fait showPP? – Ronnie

Répondre

1

Si vous êtes sûr de changer la valeur de sresults, il est inutile de le rendre final. final est utilisé pour les valeurs constantes.

Vous devez définir directement la valeur sur la vue d'étiquette. La référence de la vue d'étiquette peut être finale.

public void onClick(View view) { 
    label.setText(ttsymbol.getText().toString().trim()); 
} 
+0

Merci! Cela a fait l'affaire. – SirHowy

1

Plus de code serait utile ici, comment sresults, showPP, etc est-il défini? Toutefois, le message suggère que vous avez défini sresults comme "final", ce qui signifie que vous ne pouvez pas modifier la valeur. Probablement enlever définitivement final résoudrait ce problème.

Questions connexes