如何防止Android CursorLoader重新加载?

如何防止Android CursorLoader重新加载?,android,android-contentprovider,android-cursorloader,Android,Android Contentprovider,Android Cursorloader,我正在编写一个android词汇学习应用程序 在main活动上,我正在使用游标加载程序从数据库加载词汇列表 当用户单击“下一步”按钮时,将更新当前词汇表状态 但每次词汇表状态更新时,都会调用onLoadFinished,并传入一个新光标 我知道这是因为我正在使用ContentProvider并设置通知URI,但当我更新词汇表状态时,我正在使用URI和特定的id: ContentValues cv = new ContentValues(); cv.put(VocabularyContract.V

我正在编写一个android词汇学习应用程序

main活动
上,我正在使用
游标加载程序
数据库加载词汇列表

当用户单击“下一步”按钮时,将更新当前词汇表状态

但每次词汇表状态更新时,都会调用onLoadFinished,并传入一个新光标

我知道这是因为我正在使用
ContentProvider
并设置通知
URI
,但当我更新词汇表状态时,我正在使用
URI
和特定的
id

ContentValues cv = new ContentValues();
cv.put(VocabularyContract.VocabularyEntry.COLUMN_STATUS, status);    
getContentResolver().update(ContentUris.withAppendedId(VocabularyContract.VocabularyEntry.CONTENT_URI, vocabId),
            cv,
            null,
            null);
但是
onCreateLoader
中使用的
uri
不同,没有
id

CursorLoader learnCursorLoader = new CursorLoader(this,
                        VocabularyContract.VocabularyEntry.CONTENT_URI,
                        null,
                        VocabularyContract.VocabularyEntry.COLUMN_STATUS + "=" + VocabularyContract.VocabularyEntry.STATUS_LEARNING,
                        null,
                        null);
为什么它仍然被重新加载?
如何防止它重新加载?

如果这是您自己的数据库,为什么要使用
ContentProvider
?实际上这是一项项目任务,使用ContentProvider是一项要求。嗯,这种方法已经过时多年了。无论如何,我猜想
CursorLoader
会在
VocabularyContract.VocabularyEntry.CONTENT\u URI
及其子体上为所有内容设置一个
ContentObserver
,其中包括您特定的
URI