2013-04-11 2 views
0

확인이 곧장 앞으로 있어야하지만 그걸로 어려움을 겪고있어. 지금까지이 코드를 가지고 있습니다.회 전자에서 값을 가져오고 해당 값에 따라 텍스트보기를 변경하십시오.

public void onItemSelected(AdapterView<?> parent, View view, int position, 
     long id) { 
     // On selecting a spinner item 

     SpinnerFAQ = parent.getItemAtPosition(position).toString(); 
     // Showing selected spinner item 
     Toast.makeText(parent.getContext(), "You selected: " + SpinnerFAQ, 
      Toast.LENGTH_LONG).show(); 

     TextView tv = (TextView) findViewById(R.id.faq_answer); 
     ExerciseData question = new ExerciseData(this); 
     question.open(); 
     String answer = question.getFaqAnswer(); 
     question.close(); 
     tv.setText(answer); 

    } 

SpinnerFAQ는 전역 변수이며 스피너의 값을 String으로 저장합니다.

public String getFaqAnswer() { 
     // TODO Auto-generated method stub 
     String[] columns = new String[] { FAQ_ROWID, FAQ_QUESTION, FAQ_ANSWER}; 
     Cursor c = ourDatabase.query(DATABASE_TABLE2, columns, null, null, null, null, null); 
     String result = ""; 

     int iRow = c.getColumnIndex(FAQ_ROWID); 
     int iQuestion = c.getColumnIndex(FAQ_QUESTION); 
     int iAnswer = c.getColumnIndex(FAQ_ANSWER); 

     //c.getString(iRow) + " " + 

     for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) 
     { 
      if(FAQ.SpinnerFAQ == c.getString(iQuestion)) 
      { 
       result = result + c.getString(iAnswer) + "\n"; 
       break; 
      } 
     } 

     return result; 
    } 

는 이미 사용한 코드를 기반으로하지만, 기본적으로 내 데이터베이스에있는 질문에 대해 스피너를 확인하려면 그들이 일치하면 내가 대답 텍스트보기를 변경하고 싶습니다. 현재 FAQ.SpinnerFAQ는 정상적으로 작동하지만 c.getString (iQuestion)은 항상 데이터베이스의 마지막 값으로 표시됩니다. 이 코드는 "result = result + c.getString (iAnswer) +"\ n ";" if 문 없이는 제대로 작동하므로 "c.getString (iQuestion)"에 문제가있는 이유를 실제로 이해하지 못합니다. 어떤 도움이라도 대단히 감사하겠습니다. 자바 항상 equals()를 사용

답변

1
if(FAQ.SpinnerFAQ == c.getString(iQuestion)) 

==로 문자열을 비교하지 마십시오. How do I compare strings in Java?과에 모든 문자열 비교를 변경 : 읽어 보시기 바랍니다

if(FAQ.SpinnerFAQ.equals(c.getString(iQuestion))) 
+0

일 자신이 –

+0

감사합니다이 어려운 방법을 배웠습니다! 나는 완전히 잊었다 :( – Kazuk

관련 문제