Member 14632987 Ответов: 1

Как отобразить запрос sqlite в текстовом представлении в android studio?


How would I be able to display a query result in a textview, when I try to display it, all that shows it "android.database.sqlite.SQLiteCursor@457436". Thanks!


Что я уже пробовал:

Я пробовал разные варианты отображения запроса, но ни один из них не работает.

Mohibur Rashid

Как вы отображаете любой текст в android?

Richard MacCutchan

Очевидно, вы пытаетесь отобразить некоторую ссылку на объект, а не фактические результаты вашего запроса. Однако, поскольку вы не включили фактический фрагмент кода в свой вопрос, невозможно предположить что-либо еще.

1 Ответов

Рейтинг:
0

TheOldFogie

Текстовое представление, показывающее `android.database.sqlite.SQLiteCursor@457436` указывает, что он использует курсор (унаследовано/по умолчанию) toString метод, который показывает имя объекта и указатель на него.

Вместо использования

yourTextView.setText(your_cursor);
(или, возможно, метод, который возвращает курсор, например yourTextView.setText(yourGetDataMethod());)

Вам нужно сделать что-то похожее на :-

your_cursor = yourGetDataMethod();
if (your_cursor.moveToFirst() ) {
    yourTextView.setText(your_cursor.getString(your_cursor.getColumnIndex("your_column_name_to_get_the data_from");
} else {
    yourTextView.setText("Ooops no data extracted");
}
your_cursor.close();


При этом курсор перемещается из позиции перед первой строкой в первую строку Курсора, если таковая имеется.

а затем (если есть какие-либо строки) он извлекает данные в виде строки из соответствующего столбца Курсора.

Если строк нет, то TextView отобразит сообщение, указывающее на это.
Наконец курсор закрывается.

Примечание что при отсутствии какого-либо указания на используемые имена вышеизложенное использует имена, которые дают указание на то, откуда будет получено это имя.
то есть your_ указывает на такое использование.
Примечание вышеизложенное является в принципе кодом, он не был запущен или протестирован и поэтому может содержать некоторые ошибки.