Ich werde versuchen, mein Problem so klar wie möglich zu beschreiben. Ich habe eine ImageView
auf einem fragment
und 3 images
(mit a, b, c) in drawable
Ordner; Ich habe HashMap
verwendet, um jedes Bild mit ihren Buchstaben in Beziehung zu setzen. Es gibt einen String-Wert mit "bac". Ich konvertierte diese Zeichenfolge in Zeichenarray-Buchstabe [], um Zugriff auf jeden einzelnen Buchstaben zu erhalten. Wenn die Funktion aufgerufen wird, sollte sie zuerst b.jpeg
in ImageView
einfügen, nach 10 Millisekunden Verzögerung sollte ImageView
auf a.jpeg
aktualisiert werden, danach c.jpeg
. Jetzt Problem ist, wo es nur das letzte Bild, das ist c.jpeg
in ImageView
ist, aber ich will b.jpeg
zuerst anzeigen, dann nach der Verzögerung ImageView
sollte mit a.jpeg
dannjeweils aktualisiert werden? Wie kann ich dies in Funktion unten erreichen?So zeigen Sie ein bestimmtes Bild aus einem Zeichensatz basierend auf bestimmten Zeichen eines Strings an
public void viewSign(){
String value = "bac";
final Map<String, Integer> map = new HashMap<String, Integer>();
map.put("a", R.drawable.a);
map.put("b", R.drawable.b);
map.put("c", R.drawable.c);
value = value.toLowerCase(); //stores "cricket!"
char letter[] = value.toCharArray();
for(int z=0;z<value.length();z++){
switch (letter[z]) {
case 'a':
imageView5.setImageResource(map.get("a"));
break;
case 'b':
imageView5.setImageResource(map.get("b"));
break;
case 'c':
imageView5.setImageResource(map.get("c"));
break;
default:
}
try {
TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
10ms ist wirklich kurz. Sind Sie sicher, dass Ihr Programm nur c.jpg zeigt? hast du versucht, 10 auf eine höhere Dauer zu ändern, wie 1000 und ob b und a.jpg immer noch nicht angezeigt werden? –
Ja, wenn ich auf 1000 erhöhe. Funktioniert immer noch nicht. Es ist nur für ca. 6 Sekunden stecken und dann c.jpeg anzeigen.Ich denke Runnable Threads können in dieser Situation helfen, aber wie implementiere ich die Logik? – Kira
@Kira können Sie einige Logcat schreiben, wenn das Bild ändern. Dann sagen Sie uns, ob die Logcat korrekt funktioniert oder nicht –