При получении данных из SQLite с использованием ListView у меня повторяются элементы, я заполняю два TextView данными из двух разных столбцов в двух разных таблицах. Когда я использую отдельные данные из каждого столбца и таблицы, они работают как запланировано, но вместе появляются дублированные элементы.
из базы данных. java
public Cursor getQuestionAndAnswer(){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
return sqLiteDatabase.rawQuery("select * from Question_Table, Answer_Table" ,null);
}
из адаптера курсора
public class QuestionAndAnswerAdapter extends CursorAdapter {
public QuestionAndAnswerAdapter(Context context, Cursor c) {
super(context, c, 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return LayoutInflater.from(context).inflate(R.layout.q_a_layout,parent,false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView Question = view.findViewById(R.id.text_question);
String listQuestion = cursor.getString(cursor.getColumnIndexOrThrow("QUESTIONS"));
Question.setText(listQuestion);
TextView Answer = view.findViewById(R.id.text_answer);
String listAnswer = cursor.getString(cursor.getColumnIndexOrThrow("ANSWERS"));
Answer.setText(listAnswer);
}
}
При привязке адаптера к ListView
questionCursor = myDataBaseClass.getQuestionAndAnswer();
if (questionCursor != null) {
QuestionAndAnswerAdapter questionAndAnswerAdapter = new QuestionAndAnswerAdapter(this, questionCursor);
QuestionList.setAdapter(questionAndAnswerAdapter);
}
[![The first text is duplicated, while the second text displays correctly][1]][1]