我最近爲我的論文開發了一個android wordsearch應用程序,我剛剛在同一時間學習android開發。使用計數器進行計分
我有這種方法名爲checkAns
來確定用戶是否選擇了我的wordgrid正確的單詞。這是該方法的代碼:
private boolean checkAns(TextView uTxt, List list) {
final LinearLayout wordList = (LinearLayout) findViewById(R.id.wordL);
String word = uTxt.getText().toString().toLowerCase();
int isCorrect = 0; // <====== IT DOESN'T INCREMENT! HELP!
for(int i = 0; i < Category.size ; i ++) {
if (word.equals(list.get(i))){
isCorrect++;
TextView tv = (TextView) wordList.findViewById (i);
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Log.e("OutPut:", String.valueOf(isCorrect));
return true;
}
}
現在我的問題是isCorrect
變量。它應該確定用戶選擇了多少正確的單詞。但它不會增加。我把Log
那裏只是爲了看看它是否會增加,但它總是說:
E /輸出:: 1
問:我該怎麼辦嗎?我的邏輯有什麼不對嗎?
任何幫助,意見,答案,都非常感謝。
TIA!
Category.size的價值是什麼? –
很明顯你的邏輯不正確。或者你的循環週期重複的次數少於你認爲的@Oscar提到的或者你的列表中有一個單詞實例,所以if語句變成真實的。第三種可能性是,當你將你的單詞改爲小寫字母時,它與列表中的字符串不匹配。是一個特定的字符串?如果是,你的列表中有多少實例存在? –
@OscarLundberg它是5,8或10. – Gboy