Nullpointerexception android asynctaskloader上的空指针异常

Nullpointerexception android asynctaskloader上的空指针异常,nullpointerexception,asynctaskloader,Nullpointerexception,Asynctaskloader,我正在尝试做一个twitter android应用程序。我还在登录。 因此,在一位朋友建议我使用asynctaskloader之后,我正在使用它。我相信我在这一行得到了一个空指针异常: this.consumer = (OAuthConsumer) new getCommonsHttpOAuthConsumer(context); getLoaderManager().initLoader(ID_FOR_THIS_LOADER, DATA_BUNDLE, CALLBACK); 下面是

我正在尝试做一个twitter android应用程序。我还在登录。 因此,在一位朋友建议我使用asynctaskloader之后,我正在使用它。我相信我在这一行得到了一个空指针异常:

this.consumer = (OAuthConsumer) new getCommonsHttpOAuthConsumer(context);
    getLoaderManager().initLoader(ID_FOR_THIS_LOADER, DATA_BUNDLE, CALLBACK);
下面是我的asynctaskloader类:

class getCommonsHttpOAuthConsumer extends AsyncTaskLoader{

public getCommonsHttpOAuthConsumer(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

@Override
public OAuthConsumer loadInBackground() {
    // TODO Auto-generated method stub

    return new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
}

}
我做错了什么?你们需要看更多的代码吗?
谢谢。

您没有正确使用loader类

您需要使用以下行调用LoaderManager:

this.consumer = (OAuthConsumer) new getCommonsHttpOAuthConsumer(context);
    getLoaderManager().initLoader(ID_FOR_THIS_LOADER, DATA_BUNDLE, CALLBACK);
如果在片段中,需要在开头添加getActivity(),并且如果使用的是android.support.v4.jar,则将调用getSupportLoaderManager()

您可以将此行放在onCreate或onResume方法中。它只会通知您的活动您想要启动一个新的加载程序

之后,您需要实现回调,通知您的加载程序已创建/完成。此回调由指定为第三个参数(回调)的对象实现。它可以是一个活动,一个片段。。。您将在网上找到语法

下面是它的外观:

    // Callback called by your Activity
    @Override
    public Loader<OAuthConsumer> onCreateLoader(int id, Bundle arg1) {
        loader = new getCommonsHttpOAuthConsumer();
        return loader;
            // After this method you're going in loadInBackground()
    }

    @Override
    public void onLoadFinished(Loader<OAuthConsumer> loader, OAuthConsumer pl) {
           // After loadInBackground() you arrive here, with your new object OAuthConsumer
           this.consumer = pl;
    }
//由您的活动调用的回调
@凌驾
公共加载器onCreateLoader(int-id,Bundle arg1){
loader=新的GetCommonHttpOAuthConsumer();
返回装载机;
//使用此方法之后,您将进入loadInBackground()
}
@凌驾
public void onLoadFinished(加载程序,OAuthConsumer pl){
//loadInBackground()之后,您将带着新对象OAuthConsumer到达这里
this.consumer=pl;
}
它应该是这样工作的,希望有帮助