Как сделать тост "Нет данных" исправить мой код, пожалуйста - PullRequest
0 голосов
/ 07 января 2019

Я проанализировал значение JSON из URL-адреса, если я ввел число, которого нет в базе данных, поэтому я хочу вспомнить «данные не найдены»

Я пытался

                    JSONArray jsonarray = new JSONArray(response);
if(jsonarray.length() == 0)
                    {

                        Toast.makeText(getApplicationContext(), "No Data Found", Toast.LENGTH_LONG).show();
                    }

но не тост в моем приложении, я не знаю, что не так с моим кодом

String url= "http://testes.com/get.php?id="+number;
    StringRequest stringRequest = new StringRequest(Request.Method.GET,
            url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {

                        JSONArray jsonarray = new JSONArray(response);
if(jsonarray.length() == 0)
                    {

                        Toast.makeText(getApplicationContext(), "No Data Found", Toast.LENGTH_LONG).show();
                    }

                        for(int i=0; i < jsonarray.length(); i++) {

                            JSONObject jsonobject = jsonarray.getJSONObject(i);

                                String id = jsonobject.getString("id");
                                String waktu = jsonobject.getString("waktu").trim();
                                String totalltr = jsonobject.getString("totalltr").trim();
                                String totalbulan = jsonobject.getString("totalbulan").trim();
                                String harga = jsonobject.getString("harga").trim();

                                str_id=id;
                                str_waktu=waktu;
                                str_totalltr=totalltr;
                                str_totalbulan=totalbulan;
                                str_harga=harga;

                                //textid.setText(" Id ="+id);
                                //textwaktu.setText(" Waktu ="+waktu);
                                //texttotalltr.setText(" Totalltr ="+totalltr);

                                Intent bukaActivity = new Intent(getApplicationContext(),MainActivity2.class);
                                bukaActivity.putExtra("id",str_id);
                                bukaActivity.putExtra("waktu",str_waktu);
                                bukaActivity.putExtra("totalltr",str_totalltr);
                                bukaActivity.putExtra("totalbulan",str_totalbulan);
                                bukaActivity.putExtra("harga",str_harga);
                                startActivity(bukaActivity);

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    if(error != null)
                    {

                        Toast.makeText(getApplicationContext(), "Something went wrong.", Toast.LENGTH_LONG).show();
                    }
                }
            }
    ); 
  MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest);

я ожидаю, чтобы отобразить тост, если введенный номер не соответствует тому, что находится в базе данных

1 Ответ

0 голосов
/ 07 января 2019

Попробуйте использовать:

Toast.makeText(this, "No data found", Toast.LENGTH_LONG).show();

Если это не сработает, убедитесь, что вы запускаете тост в потоке пользовательского интерфейса с помощью лямбды:

runOnUiThread(() -> {
       Toast.makeText(this, "No data found", Toast.LENGTH_LONG).show();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...