2

如何在片段中使用 startmanagingcursor?因为我需要在 Fragment 中从 SQLite 中提取数据,但我不能在其中使用 startmanagingcursor。

这是我的编码

 @Override  
 public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);
        dbUtil.open();
        Cursor cursor = dbUtil.fetchNews(getArguments().getString("title"));
        getActivity().startManagingCursor(cursor);
        newsTitle = cursor.getString(0);
        dbUtil.close();
 }
4

1 回答 1

19

由于其他人似乎都想向您传教而不给您答案,因此我实际上会回答您的问题(然后传教:p)。

getActivity().startManagingCursor(yourCursor);

就这么简单。

正如其他人所指出的那样,它已被弃用,并且CursorLoader出于多种原因推荐使用...将数据处理远离 UI 线程作为主要线程。

但是如果你真的需要/想要startManagingCursor在片段中使用,上面的片段就是你将如何做到的。

鉴于您发布的更多信息,另一个问题可能是您尝试从哪里调用数据库。您不应该onCreate在片段类中使用该方法(至少对于这些操作),您应该使用onActivityCreated. 这样你就可以确定控制你的片段的活动在你尝试使用任何与之相关的东西之前已经完成了自己的设置。

于 2012-10-05T05:13:14.860 回答