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是一個全局變量,它將微調器的值存儲爲字符串。
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)」有問題。任何幫助將不勝感激。
+1瞭解到這個硬盤的方式自己 – 2013-04-11 17:59:53
謝謝!我完全忘了:( – Kazuk 2013-04-11 18:12:54