Android ListView通过Cursor获取数据问题

一个便签应用,实现了基本的功能,现在就是Cursor获取数据看不懂,先简单说说几个相关的文件。
NoteListActivity在onCreate中绑定了一个NoteListAdapter,此Adapter的bindView代码如下:

 @Override
    public void bindView(View view, Context context, Cursor cursor) {
        if (view instanceof NotesListItem) {
            NoteItemData itemData = new NoteItemData(context, cursor);
            ((NotesListItem) view).bind(context, itemData, mChoiceMode,
                    isSelectedItem(cursor.getPosition()));
        }
    }

NoteItemData类的构造函数中有一句是(其中静态常量TYPE_COLUMN=9):

 mType = cursor.getInt(TYPE_COLUMN);

NotesListItem类继承自LinearLayout,其中bind方法部分代码如下:
这部分功能是,长按Item时,右边会出现CheckBox选择后可以进行删除操作,不知道if语句里面**为什么长按时data.getType() = Notes.TYPE_NOTE(Notes.TYPE_NOTE是常量0)?**

 public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) {
        if (choiceMode && data.getType() == Notes.TYPE_NOTE) {
            mCheckBox.setVisibility(View.VISIBLE);
            mCheckBox.setChecked(checked);
        } else {
            mCheckBox.setVisibility(View.GONE);
        }

NoteItemData的getType()方法如下:

 public int getType() {
        return mType;
    }

NoteItemData还有一个方法是getNoteType:

 public static int getNoteType(Cursor cursor) {
        return cursor.getInt(TYPE_COLUMN);
    }

这两个方法的内容是一样的,为什么getNoteType=1,getType在长按时=0,否则=1?
在线等高手回答,研究了好几天了