基本的には描画可能なリソースを切り替えたいと思っています。私はIf文ですべてを書きましたが、あまりにも長くて面倒で、間違った手紙を入力すると停止しないため、実行しません。ピクチャ間でケースを切り替える
私がしようとしているのは、ユーザーが手紙を入力した場合、背景が次の手紙に変わる場合です。ユーザーがAと入力すると背景がBに変わるなどです。今はうまくいきますが、間違っているのは、ユーザーが文字Aにあり、ユーザーが誤って文字Pを入力した場合、ユーザーに間違っていると伝えるのではなく、背景がQに切り替わるということです。
私はこのコードをif文ではなくelse文として使っていましたが、If文だけでは私は今変更すると思っていました。誰もこのIf文をどのようにcase文に入れるのか説明できますか?
if (words.getText().toString().equalsIgnoreCase("A")) {
gestureViewer.setBackgroundResource(R.drawable.lettersb);
} else {
onDestroy();
}
if (words.getText().toString().equalsIgnoreCase("B")) {
gestureViewer.setBackgroundResource(R.drawable.lettersc);
} else {
}
if (words.getText().toString().equalsIgnoreCase("C")) {
gestureViewer.setBackgroundResource(R.drawable.lettersd);
} else {
}
if (words.getText().toString().equalsIgnoreCase("D")) {
gestureViewer.setBackgroundResource(R.drawable.letterse);
} else {
}
if
(words.getText().toString().equalsIgnoreCase("E")) {
gestureViewer.setBackgroundResource(R.drawable.lettersf);
} else {
}
if (words.getText().toString().equalsIgnoreCase("F")) {
gestureViewer.setBackgroundResource(R.drawable.lettersg);
} else {
}
if (words.getText().toString().equalsIgnoreCase("G")) {
gestureViewer.setBackgroundResource(R.drawable.lettersh);
}else {
}
if (words.getText().toString().equalsIgnoreCase("H")) {
gestureViewer.setBackgroundResource(R.drawable.lettersi);
}else {
}
if (words.getText().toString().equalsIgnoreCase("I")) {
gestureViewer.setBackgroundResource(R.drawable.lettersj);
} else {
}
if (words.getText().toString().equalsIgnoreCase("J")) {
gestureViewer.setBackgroundResource(R.drawable.lettersk);
}else {
}
if (words.getText().toString().equalsIgnoreCase("K")) {
gestureViewer.setBackgroundResource(R.drawable.lettersl);
}else {
}
if (words.getText().toString().equalsIgnoreCase("L")) {
gestureViewer.setBackgroundResource(R.drawable.lettersm);
}else {
}
if (words.getText().toString().equalsIgnoreCase("M")) {
gestureViewer.setBackgroundResource(R.drawable.lettersn);
}else {
}
if (words.getText().toString().equalsIgnoreCase("N")) {
gestureViewer.setBackgroundResource(R.drawable.letterso);
}else {
}
if (words.getText().toString().equalsIgnoreCase("O")) {
gestureViewer.setBackgroundResource(R.drawable.lettersp);
}else {
}
if (words.getText().toString().equalsIgnoreCase("P")) {
gestureViewer.setBackgroundResource(R.drawable.lettersq);
}else {
}
if (words.getText().toString().equalsIgnoreCase("Q")) {
gestureViewer.setBackgroundResource(R.drawable.lettersr);
} else {
}
if (words.getText().toString().equalsIgnoreCase("R")) {
gestureViewer.setBackgroundResource(R.drawable.letterss);
} else {
}
if (words.getText().toString().equalsIgnoreCase("S")) {
gestureViewer.setBackgroundResource(R.drawable.letterst);
}else {
}
if (words.getText().toString().equalsIgnoreCase("T")) {
gestureViewer.setBackgroundResource(R.drawable.lettersu);
}else {
}
if (words.getText().toString().equalsIgnoreCase("U")) {
gestureViewer.setBackgroundResource(R.drawable.lettersv);
}else {
}
if (words.getText().toString().equalsIgnoreCase("V")) {
gestureViewer.setBackgroundResource(R.drawable.lettersw);
}else {
}
if (words.getText().toString().equalsIgnoreCase("W")) {
gestureViewer.setBackgroundResource(R.drawable.lettersx);
}else {
}
if (words.getText().toString().equalsIgnoreCase("X")) {
gestureViewer.setBackgroundResource(R.drawable.lettersy);
}else {
}
if (words.getText().toString().equalsIgnoreCase("Y")) {
gestureViewer.setBackgroundResource(R.drawable.lettersz);
}else {
}
if (words.getText().toString().equalsIgnoreCase("Z")) {
gestureViewer.setBackgroundResource(R.drawable.lettersa);
} else {
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
public void afterTextChanged(Editable s) {
}
});
}
あなたは列挙型は何としても –
を列挙型を使用することができ、それが何をしますか? –
スイッチの場合は文字列を使うことはできません...文字列とcharと混同しないでください。そうすれば、enumはそうすることができます。 look @ the link http://www.javabeat.net/tips/171-how-to-use-enum-in-switch.html –