как заставить if работать с типом данных BOOLEAN - PullRequest
0 голосов
/ 08 мая 2020

Я новый разработчик приложения .. Я пытаюсь создать систему для блокировки пользователей в моем приложении. Я создал поле в базе данных под названием blok. Тип, как сделать, если условие работает с типом данных BOOLEAN, оно имеет два значения: ноль или один. Таким образом, если у пользователя есть блок, номер поля будет 1, а если он нормальный, будет 0.

Я получаю данные пользователя с помощью Volley .. Итак, я пытаюсь создать условие if в Volley, но оно не работает.

Пробую вот так:

 if (blok.equals(0)) {


Toast.makeText(ProfileUsers.this, "You are block ", Toast.LENGTH_SHORT).show();

}else {
Toast.makeText(ProfileUsers.this, "Welcome", Toast.LENGTH_SHORT).show();

 }

И вот так:

if (blok.length() > 0) {
      Toast.makeText(Users.this, "Welcome", Toast.LENGTH_SHORT).show();             
 } else {
      Toast.makeText(Users.this, "You are block", Toast.LENGTH_SHORT).show();             
}

Код залпа

        StringRequest stringRequest = new StringRequest(Request.Method.POST, URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        progressDialog.dismiss();
                        Log.i(TAG, response.toString());

                        try {
                            JSONObject jsonObject = new JSONObject(response);
                            String success = jsonObject.getString("success");
                            JSONArray jsonArray = jsonObject.getJSONArray("data");

                            if (success.equals("1")){

                                for (int i =0; i < jsonArray.length(); i++){
                                    JSONObject object = jsonArray.getJSONObject(i);
                                    String blok = object.getString("blok").trim();
                                    Log.i(TAG, "test"+blok.toString());
                               }
                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                            progressDialog.dismiss();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        progressDialog.dismiss();

                    }
                })
        {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String > params = new HashMap<>();
                params.put("Id", Id);
                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);

Так что не знаю если моя идея верна, или есть другой, лучший способ сделать блок для пользователя.

если кто-нибудь знает, как заставить мой код работать, помогите мне, пожалуйста

1 Ответ

2 голосов
/ 08 мая 2020

Вы сравниваете string с int, что неверно, попробуйте вместо этого:

if (blok.equals("0")) {

    Toast.makeText(ProfileUsers.this, "You are block ", Toast.LENGTH_SHORT).show();

} else {

 Toast.makeText(ProfileUsers.this, "Welcome", Toast.LENGTH_SHORT).show();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...