5

我正在尝试将数据从 a 输入List<ParseObject>到光标。ParseObject 文档可以在这里找到。

我发现您可以使用 MatrixCursor 来执行此操作,参考有用的网站:http: //developer.android.com/reference/android/database/MatrixCursor.html

如何将额外元素插入到 SimpleCursorAdapter 或 Spinner 的光标中?

如何在不从 Android 应用程序的数据库中获取数据的情况下创建光标数据?

我的问题是,当我从 MyContentProvider.java 返回游标并尝试执行 cursor.getFloat() 时,它返回一个字符串,我无法对其执行 DecimalFormat。

问题:

如何使用 addRow (Object[] columnValues) 将一种以上的数据类型放入 MatrixCursor?

使用光标数据的方法:

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;
}
4

1 回答 1

0

我不确定我是否理解您的代码示例,但我可以回答您的主要问题

如何使用 addRow (Object[] columnValues) 将一种以上的数据类型放入 MatrixCursor?

将数组类型从更改StringObject

mc.addRow(new Object[] {1, "text", 0.666});
于 2016-11-30T06:31:09.017 回答