基本上我想在可繪製的資源之間切換,而我不知道如何去做。我把它寫在一個If語句中,但是它太長而且雜亂,並且沒有按照我想要的方式執行,因爲如果他們輸入了錯誤的字母,它就不會停止。圖片之間的開關盒
我想要做的是如果用戶輸入一個字母,背景將改變爲下一個字母后,例如,如果用戶輸入A後臺將變爲B,如此等等。它現在可以正常工作,但問題是如果用戶使用字母A並且用戶錯誤地輸入字母P,則背景將切換到Q而不是告訴用戶他們錯了。
我確實有這個代碼作爲一個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) {
}
});
}
你可以用枚舉以及 – 2012-02-02 06:56:41
什麼是枚舉和會是什麼呢? – 2012-02-02 07:31:12
你不能在開關情況下使用字符串...不要混淆字符串和字符,所以枚舉將允許你這樣做。看看@鏈接http://www.javabeat.net/tips/171-how-to-use-enum-in-switch.html – 2012-02-02 08:11:46