我正在尝试通过使用CursorLoader和SimpleCursorTreeAdapter来异步查询提供程序这是我的Fragment类,它实现了CursorLoaderpublicclassGroupsListFragmentextendsExpandableListFragmentimplementsLoaderManager.LoaderCallbacks{privatefinalStringDEBUG_TAG=getClass().getSimpleName().toString();privatestaticfinalString[]CONTACTS_PROJECTION=ne
我一直在开发一个小型的待办事项列表应用程序。我使用CursorLoader从内容提供者更新ToDolistview。我写了一个函数onNewItemAdded(),当用户在TextView中输入一个新项目并点击回车时调用它。引用如下:publicvoidonNewItemAdded(StringnewItem){ContentResolvercr=getContentResolver();ContentValuesvalues=newContentValues();values.put(ToDoContentProvider.KEY_TASK,newItem);cr.insert(To
所以我有我的MainDisplayActivity它同时实现了Activity和LoaderManager.LoaderCallbacks.我这里有一个ListView,我使用ContentProvider从我的数据库中获取的议程信息填充这些信息。我还有一个GridView这是一个日历。我在单击单元格时设置了它,议程会随着单击的日期更新。我的问题是重用我在onCreate()中创建的加载程序时在setOnItemClickListener()内部,它不会使用我正在创建的新光标刷新信息。我可以用另一个ID创建一个新的加载器,它可以工作一次,但是一旦我点击另一天,它就会停止刷新。问题出在光
背景:我有一个自定义CursorLoader直接使用SQLite数据库而不是使用ContentProvider.此加载程序与ListFragment一起使用由CursorAdapter支持.到现在为止还挺好。为简化起见,让我们假设UI上有一个删除按钮。当用户点击它时,我从数据库中删除一行,并调用onContentChanged()在我的装载机上。此外,在onLoadFinished()回拨,我打电话notifyDatasetChanged()在我的适配器上以刷新UI。问题:当删除命令快速连续发生时,意味着onContentChanged()被快速连续调用,bindView()最终处理的
所以我无法扩展MultiAutoCompleteTextView并用CursorLoader支持它,同时使用自定义Tokenizer.这个问题特别出现在mAdapter.setCursorToStringConverter();上。称呼。convertToString()以Cursor作为参数的方法在第一次调用此方法时具有有效且未关闭的游标。但是,后续调用会导致空游标或关闭游标。我猜这与LoaderManager的方式有关。管理CursorLoader.如果我评论setCursorToStringConverter()方法出来,然后我确实看到了一个基于我在此View中输入的文本的可
我在我的项目中使用Android兼容性库。我已经按照DevGuide(http://developer.android.com/reference/android/app/Fragment.html)中的描述设置了ListFragment,并使用了一个简单的CursorLoaderChristian,它可以在没有内容提供程序的情况下使用(CursorLoaderusagewithoutContentProvider)。问题是,在我的ListFragment/父Activity中,我应该在哪里打开数据库、返回光标、创建Adapter和setListAdapter?所以在我的应用中,我有T
尝试更新我的旧应用,其中某些方法已被弃用。我发现如果我想使用显示来自db的数据的ListView,我应该使用LoaderManager+CursorLoader。CursorLoader与内容提供者一起工作。那么对于我的数据库中的每个表,我现在应该创建内容提供程序吗?我为什么要?据我所知,内容提供者用于与其他应用程序共享一些数据库信息,但我的应用程序不共享任何信息。那么我可以在没有内容提供者的情况下使用CursorLoader吗??? 最佳答案 我写了一个blogpost在这个问题上。您也可以查看answer了解更多信息。希望它会为
AndroidSDK文档说startManagingCursor()方法已弃用:Thismethodisdeprecated.UsethenewCursorLoaderclasswithLoaderManagerinstead;thisisalsoavailableonolderplatformsthroughtheAndroidcompatibilitypackage.ThismethodallowstheactivitytotakecareofmanagingthegivenCursor'slifecycleforyoubasedontheactivity'slifecycle.T