如何使用.setError

时间:2013-12-30 18:38:26

标签: android android-edittext textwatcher

我使用.setError函数。但它仅在单击保存按钮时检查文本字段,转到SecondActivity并按设备上的返回按钮以查看它不能为空!

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_card);

save=(Button)findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {

@Override   
public void onClick(View v) {

EditText Name2 = (EditText)findViewById(R.id.txtName);
if( Name2.getText().toString().length() == 0 )
Name2.setError( "First name is required!" );

Intent intent = new Intent(NewCard.this, Template.class);
startActivity(intent);

}
});

如果Name2为空白,我怎么能检查点击按钮但是没有进入SecondActivity?除了长度(),我还想检查数字,不需要的字符等,如果可能的话。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您只需为else创建一个if,然后将您的号码转移到startActivity(),就像这样:

// Expand this condiditional to perform whatever other validation you want
if( Name2.getText().toString().length() == 0 ) {
    Name2.setError( "First name is required!" );
} else {
    // Validation passed, show next Activity
    Intent intent = new Intent(NewCard.this, Template.class);
    startActivity(intent);
}