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