我正在使用volley进行json解析.我想使用POST向服务器端发送一些数据.我想发送.现在任何人都可以告诉我如何将过滤器阵列发送到服务器?
以下是我的代码段.我也尝试Hashmap和Jsonobject.但得到这个错误.
错误:
org.json.JSONException: Value at Data of type java.lang.String cannot be converted to JSONObject
Run Code Online (Sandbox Code Playgroud)
格式
{
"typeName": "MANUFACTURER",
"typeId": 22,
"cityId": 308,
"sortBy": "productname",
"sortOrder": "desc",
"filter":[
{
"filterId":101,
"typeName":"CAT_ID",
"filterId":102,
"typeName":"CAT_ID"
}
]
}
Run Code Online (Sandbox Code Playgroud)
对于Code Check pastie
我正在使用Volley JsonObjectRequest从服务器获取数据.
代码段:
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)
但我JSONObject response每次都在移动数据连接上变得相同.
注意:它在WiFi连接上完美运行.
有人面临这个问题吗?任何解决方案
所以我使用a JsonObjectRequest发送JsonObject一个休息呼叫,但它返回一个JsonArray而不是一个JsonObject.它给我一个错误,说它不能解析结果JsonObjectRequest,但如果我使用JsonArrayRequest我不能发送一个JsonObject在体内.我如何发送一个JsonObject但JsonArray作为回复?
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST,url,jsonBody,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
String test = "";
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
Run Code Online (Sandbox Code Playgroud) 我正在使用此教程:https : //www.youtube.com/watch?v=I2eYBtLWGzc
https://mzgreen.github.io/2015/06/23/How-to-hideshow-Toolbar-when-list-is-scrolling(part3)/
起初我得到了错误:
java.lang.NullPointerException: Attempt to invoke virtual method android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)' on a null object reference
at pl.michalz.hideonscrollexample.adapter.parttwo.MyAdapter.onCreateViewHolder(MyAdapter.java:37)
at pl.michalz.hideonscrollexample.adapter.parttwo.MyAdapter.onCreateViewHolder(MyAdapter.java:18)
Run Code Online (Sandbox Code Playgroud)
我从以下方面进行了更改:
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Log.w("myApp", "onCreateViewHolder ");
View view = layoutInflater.inflate(R.layout.recycler_item, parent, false);
return new ViewHolder(view);
}
Run Code Online (Sandbox Code Playgroud)
至:
View view = layoutInflater.from(parent.getContext()).inflate(R.layout.recycler_item, parent, false);
Run Code Online (Sandbox Code Playgroud)
它修复了错误,但仅在几次之后我就厌倦了模拟App。我真的很难完成这项工作,所以我不知道这是正确的解决方法还是我的代码不好,以后可能会导致更多错误。
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private LayoutInflater layoutInflater;
private ArrayList<Receptas> receptasL = new ArrayList<>();
public MyAdapter(Context context) {
//layoutInflater = layoutInflater.from(context);
}
public void …Run Code Online (Sandbox Code Playgroud) android android-volley android-recyclerview jsonobjectrequest