How to make a new newRequestQueue In Volley, Android

15,662

the parameter of newRequestQueue is a Context object. In your case, this, refers to the View.OnClickListener anonymous inner class, where you are calling newRequestQueue. Change

Volley.newRequestQueue(this);

with

 Volley.newRequestQueue(getActivity().getApplicationContext());

is, of course, getActivity() because you are subclassing Fragment

Share:
15,662
Bryan
Author by

Bryan

Updated on July 30, 2022

Comments

  • Bryan
    Bryan almost 2 years

    I have an fragment where I try to Instantiate a new newRequestQueue with the Volley API.

    I try to instantiate it like this:

    RequestQueue queue = Volley.newRequestQueue(this);
    

    However, when I try to create the request, I get the following error:

    newRequestQueue In Volley cannot be applied to annonymous android.view.View.OnClickListener
    

    Here is my Fragment class:

    public class LoginFragment extends Fragment {
        private FacebookLogin fLogin;
        private Profile profile;
        private CallbackManager mCallbackManager; //Used in activity result below. Gets a value when u hit the button
        private static final String TAG = "Event";
        private static String url_create_user = "127.0.0.1/create_row.php";
    
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            fLogin = new FacebookLogin(getActivity().getApplicationContext());
        }
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View v =  inflater.inflate(R.layout.login, container, false);
            return v;
        }
    
        @Override
        public void onViewCreated(View view, Bundle savedInstanceState)
        {
            super.onViewCreated(view, savedInstanceState);
    
            final LoginButton loginButton = (LoginButton) getView().findViewById(R.id.login_button);
            final TextView infoText = (TextView) getView().findViewById(R.id.text_details);
            final ImageView profilP = (ImageView) getView().findViewById(R.id.profilePicture);
    
            loginButton.setFragment(this);
    
    
            loginButton.setReadPermissions("user_friends");
    
            loginButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    Log.i(TAG, " Button clickde");
                    fLogin.setCallback(loginButton); //Let's register a callback
    
                    RequestQueue queue = Volley.newRequestQueue(this);
    
                    fLogin.setFacebookListener(new FacebookLogin.OnFacebookListener() {
                        @Override
                        public void onFacebookLoggedIn(JSONObject parameters) {
                            Log.i(TAG, "INNNNNNNNNNNE");
                            Log.i(TAG, parameters.toString());
                        }
                    });
                }
            });
    
        }
    
       @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            mCallbackManager = fLogin.getCallbackManager(); //Get the callbackmanager
            mCallbackManager.onActivityResult(requestCode, resultCode, data);
        }
    
    }
    
  • Harun ERGUL
    Harun ERGUL almost 8 years
    It's brillant answer