嘿伙计们,
我得到了 2 个ListViews
,一个用于左侧,一个用于右侧。但是我有一个Cursor
价值观。现在我想从光标中获取偶数行并将其放在 amatrixcursor
中以填充左侧ListView
,并使用我想要填充右侧的几率。
但是我得到了 9 列,无论如何都可以将整行放入 amatrixCursor
而不单独选择每一列?这样当数据库发生变化或任何事情发生变化时,我就不必手动调整列。
也许我可以只使用 Cursor 而不是 a MatrixCursor
,哪个会更好?
嘿伙计们,
我得到了 2 个ListViews
,一个用于左侧,一个用于右侧。但是我有一个Cursor
价值观。现在我想从光标中获取偶数行并将其放在 amatrixcursor
中以填充左侧ListView
,并使用我想要填充右侧的几率。
但是我得到了 9 列,无论如何都可以将整行放入 amatrixCursor
而不单独选择每一列?这样当数据库发生变化或任何事情发生变化时,我就不必手动调整列。
也许我可以只使用 Cursor 而不是 a MatrixCursor
,哪个会更好?
解决方案:
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));
}