Установить параметры залпа JSON Object в другом классе - PullRequest
0 голосов
/ 24 июня 2018

У меня есть приложение обоев.Приложение отправило запрос с использованием залпа.

 public void getJsonResponsePost() {

    pDialog.setMessage("Downloading json...");
    pDialog.show();
    Map<String, String> params = new HashMap();
    params.put("table", "animal");
    JSONObject json = new JSONObject(params);
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, script, json,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {

                    // Do Something with response.

                    adapter.notifyDataSetChanged();

                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
    jsonObjectRequest.setTag(REQ_TAG);
    jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(
            0,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    MySingleton.getInstance().addToRequestQueue(jsonObjectRequest);

}

Сервер получает данные из таблицы, а затем отправляет ответ из базы данных.Теперь я хочу, чтобы пользователь мог фильтровать изображения.У меня есть собственный диалог, в котором пользователь может выбрать свой выбор с помощью переключателя.Когда пользователь выбирает изображение и отправляет, я хочу, чтобы параметры запроса залпа изменялись следующим образом.

params.put("table", "animal");
// to
params.put("table", "nature");

Код настраиваемого диалогового окна

submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int radioButtonID = radioGroup.getCheckedRadioButtonId();
            RadioButton radioButton = (RadioButton) 
            radioGroup.findViewById(radioButtonID);
            Toast.makeText(getActivity(),radioButton.getText(), 
            Toast.LENGTH_SHORT).show();
       // Set param for volley here from radio button value.
        }
    });

1 Ответ

0 голосов
/ 24 июня 2018

Вы можете использовать -

int id = radioGroup.getCheckedRadioButtonId();
String text = "";
Map<String, String> params = new HashMap();
if(id == your_first_radio_button_id) {
    // First radio button is selected.
    text = firstRB.getText().toString();
} 
if(id == your_second_radio_button_id) {
    // Second radio button is selected.
    text = secondRB.getText().toString();
}
if(!text.equals("")) {
     params.put("table", "nature");
}
else {
    params.put("table", "animal");
}
...