Я новичок в java, и я пытаюсь запустить метод после нажатия кнопки, и я не уверен, если я нахожусь на правильном пути. Я выбираю 10 вопросов из базы данных Sqlite и хотел бы циклически перебирать каждый вопрос 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);
запросов базы данных и распределения для Cursor
//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? откуда вы знаете? –
Привет, Берт, первый вопрос отображается нормально, но он падает при нажатии кнопки. Поэтому мне кажется, что showQuestions запускается в первый раз, когда он вызывается, но не тогда, когда я пытаюсь называть его нажатием кнопки. Thx – Cam
Я запускаю код без строк намерения в настоящий момент отредактировал свой главный пост, чтобы отразить это. – Cam