Android 从没有适配器的游标加载程序获取更新的数据
我的数据有一个sqlite、contentprovider设置。现在我知道所有这些都可以正常工作,因为我有一个实现LoaderCallback接口的活动,并且有一个ListView,如果数据发生更改,它将通过适配器进行更新 除此之外,我还有一个与ListView设置相同的活动。 在本活动中,我希望收集contentprovider通过ArrayList中的CursorLoader提供的数据,以填充和更新两个不同的视图,这两个视图不是adapterViews 我得到的数据如下:Android 从没有适配器的游标加载程序获取更新的数据,android,android-contentprovider,Android,Android Contentprovider,我的数据有一个sqlite、contentprovider设置。现在我知道所有这些都可以正常工作,因为我有一个实现LoaderCallback接口的活动,并且有一个ListView,如果数据发生更改,它将通过适配器进行更新 除此之外,我还有一个与ListView设置相同的活动。 在本活动中,我希望收集contentprovider通过ArrayList中的CursorLoader提供的数据,以填充和更新两个不同的视图,这两个视图不是adapterViews 我得到的数据如下: @Override
@Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
// Must include the _id column for the adapter to work
String[] projection = new String[]{VitalSet.COL_TYPE};
return new CursorLoader(
this,
CicelyContentProvider.CONTENT_URI_DISTINCT,
projection,
null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
while(cursor.moveToNext()) {
cursorText.append(cursor.getString(cursor.getColumnIndex(VitalSet.COL_TYPE)));
}
}
@Override
public void onLoaderReset(Loader<Cursor> cursorLoader) { }
如果我启动活动,这可以正常工作,但是如果我添加新数据,textView不会得到更新。如果我不使用适配器,或者没有适配器就无法获取更新的数据,是否需要实现一些listenerMethod
我在contentprovider查询和insertmethods中有必要的通知
如有任何建议,我们将不胜感激。ContentResolver.registerContentObserver或类似内容是的,谢谢。这很有效,但我的上述方法也有效,我的错误是我的查询和插入有不同的URI。这就是更新无法识别的原因。哦,对不起,我忘记了CursorLoader在其游标上注册ContentObserver,请参阅CursorLoader.loadInBackground方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_overview);
getLoaderManager().initLoader(0, null, this);
}