できるだけ明確に問題を記述しようとします。 drawable
フォルダにfragment
とimages
(a、b、cというラベルが付けられています)にImageView
があります。私はHashMap
を使ってそれぞれの画像をそれぞれの文字と関連づけました。 "bac"という文字列値があります。私はこの文字列を文字配列文字[]に変換して、それぞれの文字にアクセスしました。関数が呼び出されると、それはImageView
への最初のb.jpeg
を挿入する必要があり、10ミリ秒の遅延後、ImageView
は、その後c.jpeg
a.jpeg
に更新する必要があります。今問題はc.jpeg
の最後の画像を挿入してImageView
に入れますが、最初にb.jpeg
を表示してから、遅れてImageView
をa.jpeg
、c.jpeg
にそれぞれ更新する必要がありますか?どのように私は以下の機能でこれを達成できますか?文字列の特定の文字に基づいてdrawableから特定のイメージを表示する方法
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のは本当に短いです。あなたのプログラムはc.jpgしか表示していませんか? 1000と同じように、10をより高い持続時間に変更しようとしましたが、bとa.jpgがまだ表示されていないかどうかを確認してください。 –
私は1000に増加するとはい。それでも動作しません。ちょうど約6秒間止まってからc.jpegを表示します。私はRunnableスレッドはこの状況で助けることができると思うが、私はどのようにロジックを実装するのですか? – Kira
@Kira画像を変更すると、いくつかのlogcatを書くことができます。 logcat作業が正しいかどうか教えてください –