将字符串数组放入 JSONObject 的 onResponse 方法中的 ArrayAdapter 会产生 "No suitable Constructor" 错误

Putting a string array in ArrayAdapter inside onResponse method of JSONObject gives "No suitable Constructor" error

我正在使用 Volley library 从 MySQL 数据库中获取一些数据并将其放入 ID 为 "city_spinner" 的微调器中。我有一个名为 MainActivityActivity 和一个名为 bookings 的片段。微调器位于片段 "bookings" 内。 "bookings.java" 的代码如下:

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    final RelativeLayout ld = (RelativeLayout)getView().findViewById(R.id.loader);
    final RelativeLayout fb = (RelativeLayout)getView().findViewById(R.id.form_body);
    final Spinner city_sp = (Spinner)getView().findViewById(R.id.city_sp);
    requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext());
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, dataUrl, (String)null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try{
                JSONArray city = response.getJSONArray("city");
                //I'll eventually put data from JSON into spinner, but even with String array it doesn't work.
                String[] cities = new String[]{
                        "Select a City",
                        "City1",
                        "City2",
                        "City3"
                };
                //Gives me error in line below
                ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
                        this,R.layout.my_spinner, cities
                );
                spinnerArrayAdapter.setDropDownViewResource(R.layout.my_spinner);
                city_sp.setAdapter(spinnerArrayAdapter);

            } catch (JSONException e){
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    requestQueue.add(jsonObjectRequest);
}

我得到的错误是:

Error:(151, 64) error: no suitable constructor found for ArrayAdapter(anonymous Listener< JSONObject>>,int,String[])
constructor ArrayAdapter.ArrayAdapter(Context,int,int) is not applicable
(argument mismatch; < anonymous Listener< JSONObject>> cannot be converted to Context)
constructor ArrayAdapter.ArrayAdapter(Context,int,String[]) is not applicable
(argument mismatch; <anonymous Listener< JSONObject>> cannot be converted to Context)
constructor ArrayAdapter.ArrayAdapter(Context,int,List< String>) is not applicable
(argument mismatch; < anonymous Listener< JSONObject>> cannot be converted to Context)

将该行更改为下面

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
                        getActivity(),R.layout.my_spinner, cities
                );

也在 JsonObjectRequest

的参数中用 null 替换 (String)null