MainActivity.javaで電話番号の判定
Pattern p = Pattern.compile(“^[0-9\\-]+”); として、EditTextが数字・ハイフンか正規表現を行う
javaのORは||なので、myPhone.equals(“”) || m.find() == false とする
public void getScore(View view){ // edittextを取得 EditText fEditText = (EditText) findViewById(R.id.firstnEditText); EditText lEditText = (EditText) findViewById(R.id.lastnEditText); EditText pEditText = (EditText) findViewById(R.id.phoneEditText); EditText mEditText = (EditText) findViewById(R.id.mailEditText); // edittextの中身を取得 String firstName = fEditText.getText().toString().trim(); String lastName = lEditText.getText().toString().trim(); String myPhone = pEditText.getText().toString().trim(); String myMail = mEditText.getText().toString().trim(); Pattern p = Pattern.compile("^[0-9\\-]+"); Matcher m = p.matcher(myPhone); // 中身を観て条件分岐 if (firstName.equals("")){ fEditText.setError("Please enter your first name!"); } else if(lastName.equals("")){ lEditText.setError("Please enter your last name!"); } else if(myPhone.equals("") || m.find() == false){ pEditText.setError("Please enter your phone number!"); }else if(myMail.equals("")){ mEditText.setError("Please enter your first name!"); } else { Intent intent = new Intent(this, MyResult.class); intent.putExtra(EXTRA_MYNAME, firstName); startActivity(intent); } }
おお、Androidの開発の仕方が少しづつ掴めてきた。まずjavaで関数の挙動を確認して、studioで実機確認。php+vagrantとほぼ同じ。
続けてメールアドレスの判定も行いたい