Bonjour,
Merci joel.drigo pour ta réponse qui est exactement ce que je cherche.
J'ai donc suivi ton code en rajoutant en effet les données sous forme d'un HashMap, ce qui me donne comme code :
java :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| HashMap map = new HashMap();
//Map
map.put("AAA", "K");
map.put("AAC", "N");
map.put("AAG", "K");
EditText input =(EditText)rootview.findViewById(R.id.input);
String chaineADecouper = input.getText().toString();
for(int i=0; i<chaineADecouper.length(); i+=3 /* on avance de 3 en 3*/) {
String mot = chaineADecouper.substring( i, Math.min( i+3 /* 3 caractères plus loin */, chaineADecouper.length()) );
System.out.print(mot);
if ( map.containsKey(mot) ) {
System.out.print(" ");
System.out.print(map.get(mot));
}
System.out.println();
}
} |
(à noter que j'ai modifié les chaineADecouper.length en chaineADecouper.length(), sinon ça ne passait pas
)
Du coup, là j'ai bien dans le logcat la sortie suivante :
AAA K
AAC N
AAG K
Par contre, je n'arrive pas à l'envoyer dans mon EditText, j'ai essayé :
EditText output = (EditText)rootview.findViewById(R.id.output); //EditText de sortie
1 2 3 4 5 6
| System.out.print(mot);
if ( map.containsKey(mot) ) {
output.setText(mot);
output.setText(map.get(mot));
}
System.out.println(); |
Mais cela ne marche pas, la partie
output.setText(map.get(mot));
est en Cannot resolve method 'setText'(java.lang.Object)', et si je commente cette partie, la partie me ressort seulement le dernier groupe de trois (dans la chaine : AAAAACAAG, je n'ai que AAG en sortie)
Partager