Example usage for android.database CursorWindow setStartPosition

List of usage examples for android.database CursorWindow setStartPosition

Introduction

In this page you can find the example usage for android.database CursorWindow setStartPosition.

Prototype

public void setStartPosition(int pos) 

Source Link

Document

Sets the start position of this cursor window.

Usage

From source file:mobisocial.musubi.provider.IdentityCursorWrapper.java

@Override
public void fillWindow(int position, CursorWindow window) {
    if (position < 0 || position > getCount()) {
        return;/* ww w.ja  va2 s .c o m*/
    }
    window.acquireReference();

    try {
        moveToPosition(position - 1);
        window.clear();
        window.setStartPosition(position);
        int columnNum = getColumnCount();
        window.setNumColumns(columnNum);
        while (moveToNext() && window.allocRow()) {
            for (int i = 0; i < columnNum; i++) {
                if (i == colThumb || i == colHash) {
                    byte[] field = getBlob(i);
                    if (!window.putBlob(field, getPosition(), i)) {
                        window.freeLastRow();
                        break;
                    }
                } else {
                    String field = getString(i);
                    if (field != null) {
                        if (!window.putString(field, getPosition(), i)) {
                            window.freeLastRow();
                            break;
                        }
                    } else {
                        if (!window.putNull(getPosition(), i)) {
                            window.freeLastRow();
                            break;
                        }
                    }
                }
            }
        }
    } catch (IllegalStateException e) {
        // simply ignore it
    } finally {
        window.releaseReference();
    }
}