Intereting Posts
Как использовать textView для обратного отсчета до нуля? Зависимости Android-библиотеки, поврежденные после SDK / ADT-обновления Удалите все строки таблицы из таблицы базы данных SQLite Отправка пользовательских данных с помощью ACRA без отправки самого исключения Как применить стиль большого представления к уведомлению с помощью библиотеки Parse Android Gallery View Прокрутка проблемы, когда onClickListener для данных Разница между setAlpha и setImageAlpha Как получить дополнительные намерения, если активность «singleTask»? Установить ширину Android Drawable? Не заканчивая активность при передаче изображения байтового массива, снятого камерой Тост и продолжительность Как установить представление для НЕ прокрутки с помощью scrollview в Java Заменить образ из недавнего меню приложения Как скачать файлы с веб-браузера Android? Как установить изображения для ScrollView вместо затухающих ребер?

Использование addrow для MatrixCursor, как добавить разные типы объектов?

Я пытаюсь ввести данные из List<ParseObject> в курсор. Документацию ParseObject можно найти здесь .

Я узнал, что вы можете использовать MatrixCursor для этого, ссылаясь на полезные сайты: http://developer.android.com/reference/android/database/MatrixCursor.html

Как вставить дополнительные элементы в SimpleCursorAdapter или Cursor для Spinner?

Как создать данные курсора без получения данных из базы данных в приложении Android?

Моя проблема в том, что когда я возвращаю курсор из MyContentProvider.java, и я пытаюсь сделать cursor.getFloat (), он возвращает String, и я не могу использовать DecimalFormat.

Вопрос:

Как поместить несколько типов данных в MatrixCursor, используя addRow (Object [] columnValues)?

Метод, который использует данные курсора:

 public void getData() { Cursor cursor = getContentResolver().query(URI, null, mParseId, null, null); DecimalFormat df = new DecimalFormat(); df.setMinimumFractionDigits(2); mTextview.setText(df.format( cursor.getFloat(cursor.getColumnIndexOrThrow("number")))); } 

MyContentProvider.java:

 @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { ...... MatrixCursor mc = new MatrixCursor(new String[] { "_id", "title", "number" }); mc.addRow(new String[] { ParseObject.getString("id"), ParseObject.getString("title"), ParseObject.getString("number") }); return mc; } 

Что я хочу сделать в MyContentProvider.java:

 @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { ...... MatrixCursor mc = new MatrixCursor(new String[] { "_id", "title", "number" }); mc.addRow(new String[] { ParseObject.getLong("id"), ParseObject.getString("title"), ParseObject.getDouble("number") }); return mc; } 

    Я не уверен, что понимаю ваши образцы кода, но могу ответить на ваш основной вопрос

    Как поместить несколько типов данных в MatrixCursor, используя addRow (Object [] columnValues)?

    Измените тип массива из String в Object :

     mc.addRow(new Object[] {1, "text", 0.666});