有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Intent不与if运营商Android合作

当我按下一个按钮将我重定向到一个页面时,它会显示一条消息,但它不起作用。成功后,会显示消息,但不会转发给我

private void registerUser() {
    try {

        Account account = new Account();
        account.setpAddress(edt_adress.getText().toString());
        account.setpBloodGroup(edt_blood.getSelectedItem().toString());
        account.setpFirstName(edt_first.getText().toString());
        account.setpMidName(edt_mid.getText().toString());
        account.setpFamilyName(edt_fam.getText().toString());
        account.setpGender(edt_gender.getSelectedItem().toString());
        account.setpPhone(edt_phone.getText().toString());
        account.setpEgn(edt_egn.getText().toString());
        account.setuPassword(edt_password.getText().toString());
        account.setuUsername(edt_username.getText().toString());
        INodeJS accountservice = RetrofitClient.getInstance().create(INodeJS.class);
        Call call = accountservice.create(account);
        call.enqueue(new Callback() {
            @Override
            public void onResponse(Call call, Response response) {
                Account result = (Account) response.body();
                
                Toast.makeText(getApplicationContext(), result.getNotes(), Toast.LENGTH_LONG).show();
                if (result.getNotes().equals("Success")) {
                    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                    startActivity(intent);
                }
                // startActivity(intent);
            }



            @Override
            public void onFailure(Call call, Throwable t) {
                Toast.makeText(getApplicationContext(), getString(R.string.createfield), Toast.LENGTH_SHORT).show();
            }
        });

    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
    }
}

共 (1) 个答案

  1. # 1 楼答案

    看起来result.getNotes().equals("Success")不是真的,你是舒尔的吗equals区分大小写,所以“success”不等于“success”,也不等于“success”——请注意空格

    也许你可以试试这个说法:

    result.getNotes().toLowerCase(Locale.getDefault()).trim().equals("success")
    

    toLowerCase将使所有字母都大写,并且trim将删除所有空格和String结尾处的空格

    另外还有equalsIgnoreCase方法,因此它可能也如下所示:

    result.getNotes().trim().equalsIgnoreCase("success")