首页 > 解决方案 > 未检索到微调器字符串并传递给 volleyrequest

问题描述

我想从微调器中获取字符串值。我目前正在使用 Volley 传递数据,但当时它并不成功。这是我的 RegisterActivity 类:

    public class RegUserPassClient extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_reg_user_pass_client);

        final Spinner spinner = findViewById(R.id.genderSpinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.genderString, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);


        final EditText regUserClient= (EditText) findViewById(R.id.regUserClient);
        final EditText regPassClient= (EditText) findViewById(R.id.regPassClient);
        final EditText regClientName = (EditText) findViewById(R.id.registerClientName);
        final EditText regClientNumber = (EditText) findViewById(R.id.registerClientNumber);
        final EditText regClientAddress = (EditText) findViewById(R.id.registerClientAddress);
        final EditText regClientOccupation = (EditText) findViewById(R.id.registerClientOccupation);
        final EditText regClientGender = (EditText) findViewById(R.id.registerClientGender);
        final EditText regClientBirthDate = (EditText) findViewById(R.id.registerClientBirthDate);
        final TextView clientUser = (TextView) findViewById(R.id.clientUserType);
        final Button regClientBtn = (Button) findViewById(R.id.regClient);
        final CheckBox toggle = (CheckBox) findViewById(R.id.checkBoxLog);

        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                if(b){
                    regPassClient.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

                }else{
                    regPassClient.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
            }
        });

        regClientBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                final String username = regUserClient.getText().toString();
                final String password = regPassClient.getText().toString();
                final String name = regClientName.getText().toString();
                final String number = regClientNumber.getText().toString();
                final String gender = spinner.toString();
                final String address = regClientAddress.getText().toString();
                final String occupation = regClientOccupation.getText().toString();
                final String birthDate = regClientBirthDate.getText().toString();
                final String userType = clientUser.getText().toString();


                if(!username.isEmpty() && !password.isEmpty() &&
                   !name.isEmpty() && !address.isEmpty() &&
                   !occupation.isEmpty() && !gender.isEmpty() &&
                   !birthDate.isEmpty() && !number.isEmpty()) {

                    Response.Listener<String> responseListener = new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            try {
                                JSONObject jsonResponse = new JSONObject(response);
                                boolean success = jsonResponse.getBoolean("success");

                                if (success) {
                                    Intent intent = new Intent(RegUserPassClient.this, LoginRegister.class);
                                    RegUserPassClient.this.startActivity(intent);
                                    Toast.makeText(RegUserPassClient.this,"SuccessFully Registered! Log in your details now!",Toast.LENGTH_LONG).show();

                                } else {
                                    AlertDialog.Builder builder = new AlertDialog.Builder(RegUserPassClient.this);
                                    builder.setMessage("Username Has already been taken!")
                                            .setNegativeButton("Retry", null)
                                            .create()
                                            .show();
                                }

                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }

                    };

                    RegUserPassClientRequest registerRequest = new RegUserPassClientRequest(username, password, name, number, gender, address, occupation,  birthDate, userType, responseListener);
                    RequestQueue queue = Volley.newRequestQueue(RegUserPassClient.this);
                    queue.add(registerRequest);
                }else if(username.isEmpty()){
                    regUserClient.setError("Please insert a username");
                }else if(password.isEmpty()){
                    regPassClient.setError("Please put your password");
                }else if(name.isEmpty()){
                    regClientName.setError("Please input your name");
                }else if(number.isEmpty()){
                    regClientNumber.setError("Put your phone number please");
                }else if(address.isEmpty()){
                    regClientGender.setError("Please state your gender");
                }else if(occupation.isEmpty()){
                    regClientAddress.setError("Please put your address");
                }else if(gender.isEmpty()){
                    regClientOccupation.setError("Please state occupation");
                }else if(birthDate.isEmpty()){
                    regClientBirthDate.setError("Please select your Birth Date");
                }

            }
        });

    }


    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int i, long l) {
        final String text = parent.getItemAtPosition(i).toString();
        Toast.makeText(parent.getContext(), text, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

    }
}

我获取微调器值的功能在 volleyrequest 下。我想这就是我的代码错误的地方,但我真的不知道该放什么以及错误的地方在哪里。

标签: javaandroid

解决方案


这只是

final String gender = spinner.getSelectedItem().toString();

毕竟!无论如何感谢观看的家伙!


推荐阅读