Java 单击监听器在第二次单击中工作

Java 单击监听器在第二次单击中工作,java,android,android-volley,Java,Android,Android Volley,我有一个按钮,在onClick()中,代码返回一个结果 我的问题是第一次点击这个按钮,结果是null 在第二次单击中,它返回true 我不知道为什么 这是代码: JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, ur, null, new Response.Listener<JSONObject>() { @Override

我有一个按钮,在onClick()中,代码返回一个结果

我的问题是第一次点击这个按钮,结果是
null
在第二次单击中,它返回
true

我不知道为什么

这是代码:

 JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, ur, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        jsonArray = response.getString("referentiel");
                        Log.d(TAG, "onResponse() returned: kkkkkk" + jsonArray);


                        //for (int i = 0; i < jsonArray.length(); i++) {
                        //JSONObject employee = jsonArray.getJSONObject(i);

                        String firstName = jsonArray.toString();
                        // Toast.makeText(ActivityUserProfile.this, "ok"+firstName, Toast.LENGTH_LONG).show();

                        // int age = employee.getInt("age");
                        // String mail = employee.getString("mail");

                        // mTextViewResult.append(jsonArray + ", " +"\n\n");
                        //}
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });

    mQueue.add(request);
    Toast.makeText(MainActivity.this, "ok"+jsonArray, Toast.LENGTH_LONG).show();

}
  }
JsonObjectRequest-request=newjsonobjectrequest(request.Method.GET,ur,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
jsonArray=response.getString(“referentiel”);
d(标记,“onResponse()返回:kkk”+jsonArray);
//for(int i=0;i

结果是
jsonArray
variable

JsonObjectRequest
是一个异步请求。它将在主线程以外的其他线程上运行。所以在
onResponse()中使用response。i、 e将吐司放入
onResponse()
。对请求回调方法中的数据执行所有进一步的处理。Volley回调在主线程上运行,所以您可以直接访问回调方法中的UI元素

 JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, ur, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            // Handle Response here 
                            jsonArray = response.getString("referentiel");
                            Toast.makeText(MainActivity.this, "ok" + jsonArray, Toast.LENGTH_LONG).show();

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
                // handle error here
            }
        });
           mQueue.add(request);
JsonObjectRequest-request=newjsonobjectrequest(request.Method.GET,ur,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
//在这里处理响应
jsonArray=response.getString(“referentiel”);
Toast.makeText(MainActivity.this,“ok”+jsonArray,Toast.LENGTH_LONG.show();
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
//在这里处理错误
}
});
添加(请求);

我看不到return语句,我想我们需要更多的代码返回的是Toast.makeText(MainActivity.this,“ok”+jsonArray,Toast.LENGTH_LONG.show();请使用点和逗号!很难读懂你的问题!