Почему я не перенаправляюсь на другое действие в Android Studio после подключения к базе данных

#android

#Android

Вопрос:

 public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText editTextUsername, getEditTextPassword;
    private Button buttonLogin;
    private ProgressDialog progressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        if (SharedPrefManager.getInstance(this).isLoggedIn()){
            finish();
            startActivity(new Intent(this, vendorDashboard.class));
            return;
        }

        editTextUsername = findViewById(R.id.editTextUsername);
        getEditTextPassword = findViewById(R.id.editTextPassword);
        buttonLogin = findViewById(R.id.buttonLogin);

        progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Please wait...");

        buttonLogin.setOnClickListener(this);

    }

    private void userLogin(){
        final String username = editTextUsername.getText().toString().trim();
        final String password = getEditTextPassword.getText().toString().trim();

        progressDialog.show();

        StringRequest stringRequest = new StringRequest(
                Request.Method.POST,
                Constants.URL_LOGIN,
                response -> {
                    progressDialog.dismiss();

                    try {
                        JSONObject obj = new JSONObject(response);
                        if(!obj.getBoolean("error")){
                            SharedPrefManager.getInstance(getApplicationContext())
                                    .userLogin(
                                            obj.getInt("id"),
                                            obj.getString("username"),
                                            obj.getString("email")
                                    );
                            startActivity(new Intent(getApplicationContext(), vendorDashboard.class));
                            finish();
                        }else{
                            Toast.makeText(
                                    getApplicationContext(),
                                    obj.getString("message"),
                                    Toast.LENGTH_LONG
                            ).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                },
                error -> {
                    progressDialog.dismiss();

                    Toast.makeText(
                            getApplicationContext(),
                            error.getMessage(),
                            Toast.LENGTH_LONG
                    ).show();
                }
        ){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("user_login", username);
                params.put("user_pass", password);
                return params;
            }
        };

        RequestHandler.getInstance(this).addToRequestQueue(stringRequest);
    }

    @Override
    public void onClick(View view) {
        if(view == buttonLogin){
            userLogin();
        }
    }
}
  

Я использую приведенный выше код для входа в базу данных WordPress после нажатия кнопки входа в систему, когда я пытаюсь добавить тост или намерение startActivity, я не смог этого сделать, есть какие-либо предложения, почему???

Вот подробный обзор, в котором я пытаюсь добавить код для намерения Toast и startActivity

                  try {
                        JSONObject obj = new JSONObject(response);
                        if(!obj.getBoolean("error")){
                            SharedPrefManager.getInstance(getApplicationContext())
                                    .userLogin(
                                            obj.getInt("id"),
                                            obj.getString("username"),
                                            obj.getString("email")
                                    );

                            // **Exactly here**

                            startActivity(new Intent(getApplicationContext(), vendorDashboard.class));
                            finish();
                        }else{
                            Toast.makeText(
                                    getApplicationContext(),
                                    obj.getString("message"),
                                    Toast.LENGTH_LONG
                            ).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                },
                error -> {
                    progressDialog.dismiss();

                    Toast.makeText(
                            getApplicationContext(),
                            error.getMessage(),
                            Toast.LENGTH_LONG
                    ).show();
                }
  

Я думаю, что проблема в этом try-catch упоминается выше?

Комментарии:

1. Вы не получаете еще одно всплывающее сообщение? Кроме того, volley вряд ли используется, используйте retrofit.

2. модернизация? не могли бы вы рассказать мне об этом

3. Вы также можете использовать okhttp. А также добавьте несколько журналов, прогнозирование без которых практически невозможно

4. @iharshmgoyal Проверьте это на предмет модернизации . это просто замена volley, которую я только что предложил. Получаете ли вы какое-либо всплывающее сообщение??

5. Ok. 1] попробуйте изменить условие onClick if как if(view.getId() == R.id.buttonLogin){userLogin()} . 2] вы добавили android.permission. ИНТЕРНЕТ в манифесте. после этого он не будет работать, делитесь журналами