У меня есть две кнопки изображений, и мой ответ JSON представляет собой массив объектов, и я хочу получить доступ к обоим объектам один за другим, нажав.Делая это, я получаю только вторую позицию, но я хочу, чтобы при нажатии первой кнопки я хотел первый объект, а для второй кнопки я хочу второй объект.
При разборе данных я получаю только вторую позицию, объект светлого типатолько.
final String potentialId = SitesUtil.getInstance().getSelectedPotentialId();
String urlOne = UrlUtility.getActionUrl(potentialId, cameraId);
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
final StringRequest stringRequest = new StringRequest(Request.Method.GET, urlOne, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Gson gson = new Gson();
ActionButton[] actionButton = gson.fromJson(response, ActionButton[].class);
for (ActionButton actionButton1 : actionButton) {
getOnUrl = actionButton1.getOnUrl();
getOffUrl = actionButton1.getOffUrl();
getType = actionButton1.getType();
message = actionButton1.getOnSuccessMessage();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(stringRequest);
Код ответа get:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageButton:
if (getType.equals("Strobe")) {
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
StringRequest stringRequest = new StringRequest(Request.Method.GET, getOnUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getContext(), message, Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(stringRequest);
}
break;
case R.id.imageButton2:
if (getType.equals("Light")) {
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
StringRequest stringRequest = new StringRequest(Request.Method.GET, getOnUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getContext(), message, Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(stringRequest);
}
break;
}
}
Мой ответ JSON:
[
{
"id": 28248,
"cameraId": 19316,
"onUrl": "",
"offUrl": "",
"statusUrl": "",
"type": "Strobe",
"statusOnMessage": "P6 = on",
"statusOffMessage": "P6 = off",
"onSuccessMessage": "P6 = on",
"offSuccessMessage": "P6 = off"
},
{
"id": 28844,
"cameraId": 19316,
"onUrl": "",
"offUrl": "",
"statusUrl": "",
"type": "Light",
"statusOnMessage": "P2 = on",
"statusOffMessage": "P2 = off",
"onSuccessMessage": "P2 = on",
"offSuccessMessage": "P2 = off"
}
]