如何在 fragment 中使用 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();
}
最佳答案
既然其他人似乎都想对你说教而不给你答案,我实际上会回答你的问题(然后说教:p)。
getActivity().startManagingCursor(yourCursor);
就这么简单。
正如其他人所指出的,它已被弃用,并且出于多种原因推荐使用 CursorLoader
......让数据处理远离 UI 线程是主要线程。
但如果您真的需要/想要在 fragment 中使用 startManagingCursor
,上面的 fragment 就是您的做法。
鉴于您发布的更多信息,另一个问题可能是您尝试从何处调用数据库。您不应该在 fragment 类中使用 onCreate
方法(至少对于这些操作),您应该使用 onActivityCreated
。这样您就可以确定控制您的 fragment 的 Activity 在您尝试使用任何与之关联的内容之前已经完成了自身设置。
关于android - 如何在 fragment 中使用startmanagingcursor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12739785/