我是新來的java,我試圖運行一個方法,一旦按鈕被點擊,我不確定我是否在正確的軌道上。我從Sqlite數據庫中選擇了10個問題,並且每次點擊按鈕時都希望遍歷每個問題0-9。一旦問了所有10個問題,我就會轉到另一個活動。我有應用程序顯示第一個問題的罰款,但我無法調用showQuestions方法,並在點擊按鈕並將其傳遞給方法時增加questionNum int。任何幫助,將不勝感激!調用方法從按鈕點擊
這是我試圖調用的showQuestions方法。
public void showQuestions(Cursor cursor) {
cursor.moveToPosition(questionNum);
while (cursor.moveToNext()) {
// Collect String Values from Query
StringBuilder questiontxt = new StringBuilder("");
StringBuilder answertxt1 = new StringBuilder("");
StringBuilder answertxt2 = new StringBuilder("");
StringBuilder answertxt3 = new StringBuilder("");
StringBuilder answertxt4 = new StringBuilder("");
String question = cursor.getString(2);
String answer = cursor.getString(3);
String option1 = cursor.getString(4);
String option2 = cursor.getString(5);
String option3 = cursor.getString(6);
questiontxt.append(question).append("");
answertxt1.append(answer).append("");
answertxt2.append(option1).append("");
answertxt3.append(option2).append("");
answertxt4.append(option3).append("");
}
}
這是我正在使用的按鈕的代碼。有4個按鈕。
public void onClick(View v) {
switch (v.getId()) {
case R.id.option1_button:
if (questionNum<9) {
questionNum ++;
}
Questions.this.showQuestions(null);
break;
}
這是按鈕的XML代碼。
<Button
android:id="@+id/option1_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/option3_button"/>
的OnClick監聽器按鈕
View option1_button = findViewById(R.id.option1_button);
option1_button.setOnClickListener(this);
數據庫查詢,並分配到光標
//Get the questions and allocate them to the Cursor
public Cursor getQuestions() {
//Select Query
String loadQuestions = "SELECT * FROM questionlist ORDER BY QID LIMIT 10";
SQLiteDatabase db = questions.getReadableDatabase();
Cursor cursor = db.rawQuery(loadQuestions, null);
startManagingCursor(cursor);
return cursor;
}
在此先感謝。
`但我在調用showQuestions方法時遇到了問題 - 這非常模糊,有什麼症狀?它崩潰了嗎?它做什麼? `showQuestions`運行了嗎?你怎麼知道的? – 2011-02-03 23:31:59
嘿伯特第一個問題顯示正常,但它在按鈕單擊時崩潰。因此,ShowQuestions在第一次調用時會運行,但在嘗試從按鈕單擊時調用它時,看起來並不是這樣。 Thx – Cam 2011-02-03 23:34:51