LoadManager 的问题

发布于 2024-11-25 11:44:53 字数 1271 浏览 1 评论 0原文

我正在努力弄清楚为什么此代码使用 Honeycomb SDK 可以工作,但在使用兼容性库时却失败。具体来说,getLoaderManager().initLoader(0, null, this) 可与 Honeycomb SDK 配合使用,但在使用兼容性库时,参数似乎有所不同,我不知道该怎么做。

public class SearchActivity extends Activity implements LoaderManager.LoaderCallbacks<Cursor>, View.OnClickListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);

        /*
        *
        * The following works fine when using: 
        * import android.app.LoaderManager;
        * import android.content.CursorLoader;
        * import android.content.Loader;
        *
        * but fails when using (requires different parameters)
        * import android.support.v4.app.LoaderManager;
        * import android.support.v4.content.CursorLoader;
        * import android.support.v4.content.Loader;
        *
        */

        getLoaderManager().initLoader(0, null, this);


    }    

    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle args) {

    }

    @Override
    public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {

    }

    @Override
    public void onLoaderReset(Loader<Cursor> arg0) {

    }
}

I am struggling to figure out why this codes work using the Honeycomb SDK but fails when using the compatibility library. Specifically, getLoaderManager().initLoader(0, null, this), works with the Honeycomb SDK but when using the Compatibility library the parameters appear to be different and I am not sure what to do.

public class SearchActivity extends Activity implements LoaderManager.LoaderCallbacks<Cursor>, View.OnClickListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);

        /*
        *
        * The following works fine when using: 
        * import android.app.LoaderManager;
        * import android.content.CursorLoader;
        * import android.content.Loader;
        *
        * but fails when using (requires different parameters)
        * import android.support.v4.app.LoaderManager;
        * import android.support.v4.content.CursorLoader;
        * import android.support.v4.content.Loader;
        *
        */

        getLoaderManager().initLoader(0, null, this);


    }    

    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle args) {

    }

    @Override
    public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {

    }

    @Override
    public void onLoaderReset(Loader<Cursor> arg0) {

    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲鸠 2024-12-02 11:44:53

抱歉,我弄错了,它仍然是 getLoaderManager() 而不是 getSupportLoaderManager()

这些参数与 Honeycomb 相同,看起来您的代码中已经正确设置了它。 Eclipse 是否抱怨它采用不同的参数?

Sorry I was mistaken, it's still getLoaderManager() not getSupportLoaderManager().

The arguments are the same as Honeycomb and it looks like you have it right in your code. Is Eclipse complaining about it taking different params?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文