Okay hier alles aus der onTextChanged:
1@Override
2 public void onTextChanged(CharSequence eingabeText, int arg1, int arg2, int arg3) {
3 // TODO Auto-generated method stub
4//Die Zeit startet wenn das erste Mal geklickt wurde (und kein Orientation Wechsel vorliegt)
5 if(!gestartet){
6 if(!eingabeText.toString().contentEquals("")){
7 SpielStart();
8 gestartet = true;
9 eingabe.setHint("");
10 }
11 }
12
13 orientwechsel = false;
14 bisherRichtigStr = "";
15 falscherBuchstabe = false;
16 WortbeiEingabe = eingabeText.toString();
17 letzterBuchstabe = 0;
18 if(WortbeiEingabe.length() > 0){
19 tempWort = WortbeiEingabe.substring(WortbeiEingabe.length() - 1);
20 letzterBuchstabe = tempWort.charAt(0);
21 } else if(WortbeiEingabe.length() == 0){//Wenn kein Text im EditText steht
22 builder.clear();
23//das erste Wort wird schwarz gemacht (es gab sonst Probleme auf einem alten Samsung)
24 SpannableString erstesWort = new SpannableString(AusgabeListe.get(0) + " ");
25 erstesWort.setSpan(new ForegroundColorSpan(Color.BLACK), 0, erstesWort.length(), 0);
26 builder.append(erstesWort);
27 for(int j = 1; j < 12; j++){
28 builder.append(AusgabeListe.get(j) + " ");//die restlichen 11 Wörter werden angehängt
29 }
30 ausgabe.setText(builder, BufferType.SPANNABLE);
31 }
32
33 if(letzterBuchstabe != ' '){//Wenn das letzte eingegebene kein Leerzeichen ist
34 for(int i = 0; i < WortbeiEingabe.length(); i++){
35 if(WortbeiEingabe.length() <= AusgabeListe.get(0).length()){
36//Wenn der Buchstabe an Stelle i = ist mit dem im TextView
37 if(WortbeiEingabe.charAt(i) == AusgabeListe.get(0).charAt(i)){
38 if(!falscherBuchstabe){//wenn kein falscher Buchstabe vorhanden ist
39 builder.clear();
40 SpannableString richtig = new SpannableString(String.valueOf(WortbeiEingabe.substring(0, WortbeiEingabe.length())));
41//das Wort wird Grün gemacht wenn es richtig ist
42 richtig.setSpan(new ForegroundColorSpan(Color.GREEN), 0, richtig.length(), 0);
43 builder.append(richtig);//das Wort wird hintugefügt
44//Wenn das Wort nocht nicht so lang ist wie das im TextView
45 if(richtig.length() < AusgabeListe.get(0).length()){
46//der Rest des Wortes wird hinzugefügt
47 builder.append(AusgabeListe.get(0).substring(richtig.length(), AusgabeListe.get(0).length()));
48 }
49 for(int j = 0; j < 12; j++){
50 builder.append(" " + AusgabeListe.get(j+1));//der Rest des Textes wird hinzugefügt
51 }
52 ausgabe.setText(builder, BufferType.NORMAL);
53 }
54 } else if(WortbeiEingabe.charAt(i) != AusgabeListe.get(0).charAt(i)){
55 falscherBuchstabe = true;
56 SpannableString letztesWort = new SpannableString(AusgabeListe.get(0));
57//das Wort wird rot gemacht
58 letztesWort.setSpan(new ForegroundColorSpan(Color.RED), 0, letztesWort.length(), 0);
59 builder.clear();
60 builder.append(letztesWort);//das rote Wort wird hinzugefügt
61 builder.append(" ");
62 for(int j = 0; j < 12; j++){
63 builder.append(AusgabeListe.get(j+1) + " ");//der Rest des Textes wird hinzugefügt
64 }
65 ausgabe.setText(builder, BufferType.NORMAL);
66 }
67 } else {
68 falscherBuchstabe = true;
69 SpannableString letztesWort = new SpannableString(AusgabeListe.get(0));
70//das Wort wird rot gemacht
71 letztesWort.setSpan(new ForegroundColorSpan(Color.RED), 0, letztesWort.length(), 0);
72 builder.clear();
73 builder.append(letztesWort);//das rote Wort wird hinzugefügt
74 builder.append(" ");
75 for(int j = 0; j < 12; j++){
76 builder.append(AusgabeListe.get(j+1) + " ");//der Rest des Textes wird hinzugefügt
77 }
78 ausgabe.setText(builder, BufferType.NORMAL);
79 }
80 }
81 }
82
83 if(letzterBuchstabe == ' '){//Wenn das letzte eingegebene ein Leerzeichen ist
84 anschläge = anschläge + AusgabeListe.get(0).length() + 1;
85 wörter++;
86//Wenn das Eingegebene Wort = das Wort im TextView ist
87 if(WortbeiEingabe.substring(0, WortbeiEingabe.length()-1).contentEquals(AusgabeListe.get(0))){
88 richtigeWörter++;//Richtige Wörter hochzählen
89//Bisherige richtigeAnschläge + Das Wort + Leerzeichen
90 richtigeAnschläge = richtigeAnschläge + AusgabeListe.get(0).length() + 1;
91 }
92 AusgabeListe.remove(0);//Das erste Wort in der Ausgabe wird gelöscht
93 if(AusgabeListe.size() < 50){
94 zufall = random.nextInt(WortListe.size());//Eine zufällige Zahl wird generiert
95 AusgabeListe.add(WortListe.get(zufall));
96 }
97 eingabe.setText("");//Das eingabeFeld wird leer gemacht
98 }
— geändert am 04.04.2014, 14:34:31
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.