Хорошо, это должно быть прямолинейно, но у меня возникают трудности с ним. Пока у меня этот код.Получите значение от счетчика и измените текстовый вид в зависимости от этого значения
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;
}
Это основано на коде я уже использовал, но в основном я хочу, чтобы проверить Spinner против вопроса в моей базе данных, и если они совпадают, я хочу, чтобы изменить Text View к ответу. В настоящий момент FAQ.SpinnerFAQ работает отлично, но c.getString (iQuestion) всегда отображается как последнее значение в базе данных. Этот код "result = result + c.getString (iAnswer) +" \ n ";" отлично работает без инструкции if, поэтому я не понимаю, почему возникает проблема с «c.getString (iQuestion)». Любая помощь будет принята с благодарностью.
+1 узнал этот нелегкий путь самого –
Спасибо! Я полностью забыл :( – Kazuk