首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓游标奇数行和偶数行进入MatrixCursor

安卓游标奇数行和偶数行进入MatrixCursor
EN

Stack Overflow用户
提问于 2014-11-14 09:05:56
回答 1查看 106关注 0票数 0

嘿伙计们,

我有两个ListViews,一个在左边,一个在右边。但是,我有一个带有值的Cursor。现在,我想从光标中获取偶数行,并将其放入一个matrixcursor中,以填充左边的ListView,而我则希望填充右侧。

然而,我得到了9列,是否只是将整个行放入一个matrixCursor,而不单独选择每一列?因此,当数据库或任何东西发生变化时,我不必手动调整列。

也许我可以用光标代替MatrixCursor,哪个更好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-14 09:45:05

解决方案:

代码语言:javascript
复制
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));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26926360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档