将SQLite与ListView绑定:如何显示编号为1,2,3,4,5的行?

时间:2018-01-13 13:11:00

标签: android sqlite android-sqlite

所以我有这张桌子:

ROW_ID ROW_USER_NAME ROW_SCORE

我希望从这张表中显示前五个分数。我正在扩展CursorAdapter并覆盖它的方法。除了我想用数字1,2,3,4,5替换ROW_ID之外,一切正常。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

假设a)根据序列对行进行排序,b)您只想显示数字而不存储它们,只需将相应的View设置为位置即可。

如果在覆盖的getView方法中执行此操作,则将位置作为第一个参数(int)传递给getView。所以这只是使用类似的问题: -

@Override
public View getView(int position, View convertview, ViewGroup parent) {
    View view = super.getView(position, convertview, parent);

    TextView sequence = view.findViewById(R.id.yourtextview);
    sequence.setText(String.valueOf(position + 1));
    .......
}

您可以在重写的bindView方法中执行此操作。但是没有传递位置,而是将Cursor作为第3个参数传递,所以你将得到Cursor的位置,使用类似的东西: -

@Override
public void bindView(View view, Context context, Cursor csr) {
    TextView sequence = view.findViewById(R.id.yourtextview);
    sequence.setText(String.valueOf(csr.getPosition()) + 1);
    .......
}