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()
를 사용
일 자신이 –
감사합니다이 어려운 방법을 배웠습니다! 나는 완전히 잊었다 :( – Kazuk