Java 如何使用截击发布布尔值

Java 如何使用截击发布布尔值,java,android,android-volley,Java,Android,Android Volley,我试图使用volley库发布布尔值。单击按钮时,布尔值设置为true。然后将布尔值发布到我的php脚本中,以在我的mysql数据库中增加计数器。尝试将请求添加到队列时出错。我做错了什么?这是我的密码 holder.custom_button.setOnClickListener(new View.OnClickListener() { int count; @Override public void on

我试图使用volley库发布布尔值。单击按钮时,布尔值设置为true。然后将布尔值发布到我的php脚本中,以在我的mysql数据库中增加计数器。尝试将请求添加到队列时出错。我做错了什么?这是我的密码

        holder.custom_button.setOnClickListener(new View.OnClickListener() {
            int count;


            @Override
            public void onClick(View v) {

                count = 0;

                superHeroes.get(position).setCount(superHeroes.get(position).getCount() + 1);
                holder.txtCount.setText(superHeroes.get(position).getCount() + "");


                final String url = "http://10.0.2.2/likes.php";

                isLiked = true;

                JSONObject obj = new JSONObject();

                try {
                    obj.put("isLiked", true);
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                JsonObjectRequest jsObjRequest = new JsonObjectRequest

                        (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {


                            @Override
                            public void onResponse(JSONObject response) {

                            }
                        }, new Response.ErrorListener() {

                            @Override
                            public void onErrorResponse(VolleyError error) {
                                // TODO Auto-generated method stub

                            }
                        });

// Access the RequestQueue through your singleton class.
// i am getting error here
                customVolleyRequest.getInstance(this).addToRequestQueue(jsObjRequest);

            }


        });

您不是在发出
POST
请求。你应该这样做:

JsonObjectRequest req = new JsonObjectRequest( Request.Method.POST, url,
      new JSONObject(jsonParams),
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                // Handle response
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
              //   Handle Error
            }
        }) {
    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json; charset=utf-8");
        return headers;
    }
};
AppController.getInstance().addToRequestQueue(req); // AppController is Volley Singleton.
JsonObjectRequest req=新的JsonObjectRequest(Request.Method.POST,url,
新的JSONObject(jsonParams),
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
//处理响应
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//处理错误
}
}) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
headers.put(“内容类型”、“应用程序/json;字符集=utf-8”);
返回标题;
}
};
AppController.getInstance().addToRequestQueue(req);//AppController是截击单例。

您使用了
cardapter
,我不知道那是什么。您应该始终将请求对象添加到
Volley Singleton

您为volley创建了singleton类吗?布尔值是正确的,您一定缺少volley的singleton类。您应该使用
POST
而不是
GET
,如下面的
JsonObjectRequest request=new JsonObjectRequest(request.Method.POST,url,obj,new Response.Listener()){…
如果您可以对所获得的错误进行堆栈跟踪,那就太好了。net.simplifiedcoding.myfeed.CustomVolleyRequest中的'error'getInstance(android.content.Context)'不能应用于'(anonymous android.view.view.OnClickListener)'我应该用什么来代替“content type”和“application/json;charset=utf-8”?@rohitaryasis您发出json对象请求时,应该使用相同的。但这完全取决于您的后端实现。
'getInstance(android.content.Context)' in 'net.simplifiedcoding.myfeed.CustomVolleyRequest' cannot be applied to '(anonymous android.view.View.OnClickListener)'
JsonObjectRequest req = new JsonObjectRequest( Request.Method.POST, url,
      new JSONObject(jsonParams),
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                // Handle response
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
              //   Handle Error
            }
        }) {
    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json; charset=utf-8");
        return headers;
    }
};
AppController.getInstance().addToRequestQueue(req); // AppController is Volley Singleton.