Error in method onSuccess SDK Facebook android

0

I'm trying the facebook sdk in a fragment and I did it in the following way This is my fragment:

            package com.dedicables.videos.dedicable.Views.Login;

            import android.content.Context;
            import android.content.Intent;
            import android.os.Bundle;
            import android.support.v4.app.Fragment;
            import android.view.LayoutInflater;
            import android.view.View;
            import android.view.ViewGroup;
            import android.widget.ImageView;
            import android.widget.TextView;

            import com.dedicables.videos.dedicable.R;
            import com.dedicables.videos.dedicable.Session.SessionManager;
            import com.facebook.CallbackManager;
            import com.facebook.FacebookCallback;
            import com.facebook.FacebookException;
            import com.facebook.FacebookSdk;
            import com.facebook.GraphRequest;
            import com.facebook.GraphResponse;
            import com.facebook.appevents.AppEventsLogger;
            import com.facebook.login.LoginResult;
            import com.facebook.login.widget.LoginButton;

            import org.json.JSONObject;

            /**
             * Created by em645 on 2/7/2016.
             */
            public class LoginDefault extends Fragment {


                private TextView info;
                private LoginButton loginButton;
                private CallbackManager callbackManager;
                private ImageView photoFacebook;

                SessionManager manager = new SessionManager();

                public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                }



                @Override
                public View onCreateView(
                        LayoutInflater inflater,
                        ViewGroup container,
                        Bundle savedInstanceState) {
                    FacebookSdk.sdkInitialize(getContext());
                    View view = inflater.inflate(R.layout.login_default, container, false);

                    loginButton = (LoginButton) view.findViewById(R.id.login_button);
                    //loginButton.setReadPermissions("user_friends");
                    // If using in a fragment
                    loginButton.setFragment(this);
                    // Other app specific specialization
                    callbackManager = CallbackManager.Factory.create();
                    // Callback registration
                    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                        @Override
                        public void onSuccess(LoginResult loginResult) {
                            info.setText(
                                    "User ID: "
                                            + loginResult.getAccessToken().getUserId()
                                            + "\n" +
                                            "Auth Token: "
                                            + loginResult.getAccessToken().getToken()
                            );

                        }

                        @Override
                        public void onCancel() {
                            // App code
                        }

                        @Override
                        public void onError(FacebookException exception) {
                            // App code
                        }
                    });
                    return view;
                }

                @Override
                public void onActivityResult(int requestCode, int resultCode, Intent data) {
                    super.onActivityResult(requestCode, resultCode, data);
                    callbackManager.onActivityResult(requestCode, resultCode, data);
                }

            }

At the moment of starting the session, I get the following error:

07-03 14:43:44.908 10704-10704/com.dedicables.videos.dedicable E/AndroidRuntime: FATAL EXCEPTION: main
                    Process: com.dedicables.videos.dedicable, PID: 10704
                    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=129742, result=-1, data=Intent { (has extras) }} to activity {com.dedicables.videos.dedicable/com.dedicables.videos.dedicable.MainActivity}: java.lang.NullPointerException
                    at android.app.ActivityThread.deliverResults(ActivityThread.java:3365)
                    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3408)
                    at android.app.ActivityThread.access$1300(ActivityThread.java:135)
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
                    at android.os.Handler.dispatchMessage(Handler.java:102)
                    at android.os.Looper.loop(Looper.java:136)
                    at android.app.ActivityThread.main(ActivityThread.java:5017)
                    at java.lang.reflect.Method.invokeNative(Native Method)
                    at java.lang.reflect.Method.invoke(Method.java:515)
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                    at dalvik.system.NativeStart.main(Native Method)
                    Caused by: java.lang.NullPointerException
                    at com.dedicables.videos.dedicable.Views.Login.LoginDefault$1.onSuccess(LoginDefault.java:122)
                    at com.dedicables.videos.dedicable.Views.Login.LoginDefault$1.onSuccess(LoginDefault.java:119)

Where the last two lines of this error point me to:

             loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                        @Override
                        public void onSuccess(LoginResult loginResult) {
                            info.setText(
                                    "User ID: "
                                            + loginResult.getAccessToken().getUserId()
                                            + "\n" +
                                            "Auth Token: "
                                            + loginResult.getAccessToken().getToken()
                            );

                        }

The funny thing is that when I reopen the application the session is started by what fails to show the data in the textView info. If you could help me, I would be very grateful. Thanks in advance.

    
asked by Eduardo Jesus 03.07.2016 в 22:56
source

1 answer

0

Good morning,

Reviewing your code what I see is needed is:

info = (TextView) view.findViewById(R.id.textView);
    
answered by 04.07.2016 / 15:17
source