Android-курсор нечетных и четных строк в MatrixCursor
Привет, ребята,
Я получил 2 ListViews
один для левой стороны и один для правой стороны. Однако у меня есть один Cursor
со значениями. Теперь я хочу получить четные строки из курсора и поместить это в matrixcursor
заполнить левую ListView
и с коэффициентами я хочу заполнить правую сторону.
Тем не менее я получил как 9 столбцов, есть ли в любом случае, чтобы поместить весь ряд в matrixCursor
без выбора каждого столбца отдельно? Так что, когда что-то меняется в БД или что-то еще, мне не нужно вручную настраивать столбцы.
Может быть, я мог бы просто использовать курсор вместо MatrixCursor
что будет лучше?
1 ответ
Решение
Решение:
MatrixCursor lCursor;
MatrixCursor rCursor;
String[] columnNames = new String[mCursor.getColumnCount()];
mCursor.moveToFirst();
for (int j = 0; j < mCursor.getColumnCount(); j++) {
columnNames[j] = mCursor.getColumnName(j);
}
lCursor = new MatrixCursor(columnNames);
rCursor = new MatrixCursor(columnNames);
if (mCursor.getCount() > 0) {
for (int i = 0; i < mCursor.getCount(); i++) {
mCursor.moveToPosition(i);
if ((i & 1) == 0) {
String[] values = new String[mCursor.getColumnCount()];
for (int j = 0; j < mCursor.getColumnCount(); j++) {
values[j] = mCursor.getString(j);
}
lCursor.addRow(values);
} else {
String[] values = new String[mCursor.getColumnCount()];
for (int j = 0; j < mCursor.getColumnCount(); j++) {
values[j] = mCursor.getString(j);
}
rCursor.addRow(values);
}
}
left.setAdapter(new HomeMenuAdapter(MainActivity.getContext(),
lCursor));
right.setAdapter(new HomeMenuAdapter(MainActivity.getContext(),
rCursor));
}