如何在片段中使用startmanagingcursor?

时间:2012-10-05 05:02:55

标签: android sqlite android-fragments

如何在片段中使用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();
 }

1 个答案:

答案 0 :(得分:19)

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

getActivity().startManagingCursor(yourCursor);

就这么简单。

正如其他人所指出的那样,它被弃用了,推荐CursorLoader有很多原因......保持数据处理不受UI线程的影响。

但是如果你真的需要/想要在片段中使用startManagingCursor,那么上面的代码就是你要做的。

鉴于您发布的更多信息,您可能会尝试从中调用数据库。您不应该在片段类中使用onCreate方法(至少对于这些操作),您应该使用onActivityCreated。这样,您可以确定在您尝试使用与其关联的任何内容之前,控制您的片段的活动已完成设置。