如何在片段中使用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();
}
答案 0 :(得分:19)
由于其他人似乎都想向你讲道而不给你答案,我实际上会回答你的问题(然后传道:p)。
getActivity().startManagingCursor(yourCursor);
就这么简单。
正如其他人所指出的那样,它被弃用了,推荐CursorLoader
有很多原因......保持数据处理不受UI线程的影响。
但是如果你真的需要/想要在片段中使用startManagingCursor
,那么上面的代码就是你要做的。
鉴于您发布的更多信息,您可能会尝试从中调用数据库。您不应该在片段类中使用onCreate
方法(至少对于这些操作),您应该使用onActivityCreated
。这样,您可以确定在您尝试使用与其关联的任何内容之前,控制您的片段的活动已完成设置。