单选按钮应该打开新的活动,只有当edittext字段不是空的



我想检查我的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(" ")) {

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

最新更新