本文介绍了在Facebook图表请求回调中,getActivity为null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Facebook图表请求回调的问题。在某些设备中,getActivity为null。此代码正在执行一个片段,导致此问题?请帮助我修复它。

  GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback()
{

@Override
public void onCompleted(JSONObject object ,GraphResponse响应)
{
// here getActivity()为null

}
});


解决方案

在调用onAttach时保留活动引用(在您的片段中),并在需要的地方使用活动引用:

  @Override 
public void onAttach(Context context){
super.onAttach(context);
mContext = context;
}

当您在片段后完成的另一个线程中调用getActivity()已被删除。就像在HTTP请求完成时(例如onResponse)中调用getActivity()(例如Toast)的情况一样。


I have an issue with Facebook graph request callback. in some devices getActivity is null.This code is executing in a fragment is that causing this issue ?.Please help me to fix it .

GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(),
                                         new GraphRequest.GraphJSONObjectCallback() 
 {

     @Override
     public void onCompleted(JSONObject object, GraphResponse response)
      {
          //here getActivity() is null

      }
});
解决方案

keep activity reference when onAttach is called (in your fragment) and use the activity reference wherever needed:

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        mContext = context;
    }

This happened when you call getActivity() in another thread that finished after the fragment has been removed. Like in case of calling getActivity() (ex. for a Toast) when an HTTP request finished (in onResponse for example).

这篇关于在Facebook图表请求回调中,getActivity为null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 17:12