问题描述
我想检查我的 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 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();
}
}
});
}
}
我希望单选按钮仅在文本字段不为空时重定向到第二个活动。但事实证明,即使我的文本字段为空,单选按钮仍然重定向到第二个活动
解决方法
发生这种情况是因为字符串 " "
不是空字符串。它是一个“空格”的字符串。您应该在这行代码中使用 ""
:
if (!name.getText().toString().equals(" ")) {
通过将这一行中的 " "
更改为 ""
,它应该可以开始工作了。