Java 如何通过单击按钮访问特定的对象数组
我有两个图像按钮,我的JSON响应是一个对象数组,我希望通过单击来逐个访问这两个对象。通过这样做,我只得到了第二个位置,但我想在单击第一个按钮时,我想要第一个对象,而对于第二个按钮,我想要第二个对象 在解析数据时,我只得到第二个位置,仅为light-type对象Java 如何通过单击按钮访问特定的对象数组,java,android,json,android-volley,Java,Android,Json,Android Volley,我有两个图像按钮,我的JSON响应是一个对象数组,我希望通过单击来逐个访问这两个对象。通过这样做,我只得到了第二个位置,但我想在单击第一个按钮时,我想要第一个对象,而对于第二个按钮,我想要第二个对象 在解析数据时,我只得到第二个位置,仅为light-type对象 final String potentialId = SitesUtil.getInstance().getSelectedPotentialId(); String urlOne = UrlUtility.getActionUrl(
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);
请详细说明你需要什么我有两个按钮我只想当我用光类型按下第一个按钮时,它的光类型URL应该执行,当我按下光按钮时,它的光URL应该执行,但当我做事情时,它总是处于第二位。@阴影如何在单击按钮时获得数组类型?你能解释你的问题吗显然?@MirzaAhmedBaig我只想在对象数组中执行url我在第一个按钮上有两个按钮,我想要选通类型,第二个按钮我想要轻url执行。
@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;
}
}
[
{
"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"
}
]