2012-12-17 48 views
0

我有兩個佈局,每個佈局具有相同數量的EditText。一種佈局是爲用戶開始的,另一種包含所有的答案。檢查針對不同佈局的編輯文本條目

我希望能夠通過預定義的答案佈局來循環檢查用戶佈局。

我在下面有一些代碼,但我想我錯過了一點...我需要更改以允許editTexts答案在不同的(而不是當前活動的)佈局中這一事實。

public boolean checkAnswer() { 
    final int ROW_COUNT = 15; 
    final int COL_COUNT = 10; 
    final String ROWS[] = {"R1","R2","R3","R4","R5","R6","R7","R8","R9","R10","R11","R12","R13","R14","R15"}; 
    final String COLS[] = {"C1","C2","C3","C4","C5","C6","C7","C8","C9","C10"}; 

    for(int i=0; i<ROW_COUNT; i++) { 
     for(int j=0; j<COL_COUNT; j++) { 
      String a = ROWS[i]; 
      String b = COLS[j]; 
      int editTextBaseId = getResources().getIdentifier("box" + a + b, "id", getPackageName()); 
      int editTextAnswerId = getResources().getIdentifier("boxA" + a + b, "id", getPackageName()); 
      EditText editTextBase = (EditText)findViewById(editTextBaseId); 
      EditText editTextAnswer = (EditText)findViewById(editTextAnswerId); 
      String textBase = editTextBase.getText().toString(); 
      String textAnswer = editTextAnswer.getText().toString(); 
      if(textBase.equals(textAnswer)) { 
      } 
      else { 
       return false; 
      }    
     } 
    }   
    return true;   

}

+2

除非您將它們誇大爲視圖,否則它們自身的佈局不會執行任何操作,因此除非實際上已經誇大了佈局問題,否則不能使用findViewById()之類的函數。也就是說,根據所提供的信息,我認爲您應該重新評估您存儲和檢索這些答案的方式;佈局只需在用戶界面上安排視圖,僅此而已。如果您只需檢查用戶輸入與已知答案,爲什麼不能將這些答案存儲在內存或數據庫中?如果用戶從不真正看到它,這個「答案佈局」有什麼意義? – CloudyMusic

回答

1

爲什麼需要兩個佈局?當用戶詢問答案時,只需用第一個佈局填寫答案。