0

在我的程序中,我使用标签活动。在位于列表视图的一个选项卡中,我尝试将数据从我的 sqlite 数据库获取到该列表视图。我没有在代码中发现错误,但我的列表视图是空的。有片段代码:

public static class DummySectionFragment extends Fragment implements LoaderCallbacks<Cursor>{

    public static final String ARG_SECTION_NUMBER = "section_number";
    public DummySectionFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_tracker,
                container, false);
        View v = inflater.inflate(R.layout.activity_tracker,
                container, false);
        createList();
        db = new DB(act);
        db.open();
        String[] from = new String[] {DB.COLUMN_NAME, DB.COLUMN_TIME};
        int[] to = new int[] { R.id.tvTextName, R.id.tvText_time};

        Cursor cursor = db.getAllData();

        scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item, cursor, from, to, 0);
        lvData = (ListView) v.findViewById(R.id.lvData);
        lvData.setAdapter(scAdapter);
        return rootView;
    }

    public void createList(){
    }

    @Override
    public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onLoaderReset(Loader<Cursor> arg0) {
        // TODO Auto-generated method stub

    }
}
4

1 回答 1

0

您没有正确使用实现 LoaderCallbacks 的类。您正在尝试进行 db 调用并在 onCreateView() 方法中检索光标。这完全违背了 LoaderCallbacks 实现的目的。

做一些谷歌搜索并找到一些关于如何正确执行此操作的教程。另外,请查看 LoaderManager.LoaderCallbacks 的官方Android 文档

这里有一些供您开始:

http://www.androiddesignpatterns.com/2012/07/understanding-loadermanager.html http://www.grokkingandroid.com/using-loaders-in-android/

于 2014-04-04T17:16:33.197 回答