【问题标题】:Radio button should open new activity, only when edittext field is not empty单选按钮应该打开新活动,只有当edittext字段不为空时
【发布时间】:2021-05-27 11:42:39
【问题描述】:

我想检查我的EditText 是否为空,如果不是,它应该在单击两个单选按钮中的任何一个时打开第二个活动:

public class MainActivity extends AppCompatActivity {
    EditText name;
    RadioGroup radioGroup;
    private boolean flag=true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        radioGroup=(RadioGroup)findViewById(R.id.radioGroup);
        name = (EditText) findViewById(R.id.editTextTextPersonName);
        start();
    }

    public void start(){
        Intent intent = new Intent(this, contacts.class);
        name.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {


            }

            public void beforeTextChanged(CharSequence s, int start,
                                          int count, int after) {

            }

            public void onTextChanged(CharSequence s, int start,
                                      int before, int count) {
                if(s.toString().length()!=0) {

                    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                        @Override
                        public void onCheckedChanged(RadioGroup group, int checkedId) {
                            // checkedId is the RadioButton selected
                            RadioButton rb = (RadioButton) findViewById(checkedId);

                            if (checkedId != -1) {
                                if (rb.getText() == "custom") {
                                    intent.putExtra("FLAG", flag);
                                    startActivity(intent);
                                } else {
                                    flag = false;
                                    intent.putExtra("FLAG", flag);
                                    startActivity(intent);
                                }
                            }
                        }
                    });
                }
                else{
                    Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content), "Please type your name", Snackbar.LENGTH_SHORT);
                    snackbar.show();
                }
            }
        });
    }
}

我希望单选按钮仅在文本字段不为空时重定向到第二个活动。但事实证明,即使我的文本字段为空,单选按钮仍会重定向到第二个活动

【问题讨论】:

    标签: java android-studio android-intent textwatcher


    【解决方案1】:

    发生这种情况是因为字符串 " " 不是空字符串。它是一串“空格”。你应该在这行代码中使用""

    if (!name.getText().toString().equals(" ")) {
    

    通过在这一行中将" " 更改为"",它应该可以开始工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 2017-12-03
      相关资源
      最近更新 更多