在AlertDialog-Android中验证电话号码

在AlertDialog-Android中验证电话号码,android,Android,这是我的代码,我有两个编辑文本名称和电话号码,任何一个可以帮助我验证电话号码,这应该适用于我的代码如下,因为我已经遇到了很多验证代码之前 public class PersonAddNumberDialog { private AlertDialog dialog; public PersonAddNumberDialog(final Context context, final ListView toUpdate) { AlertDialog.Builder builder = n

这是我的代码,我有两个编辑文本名称和电话号码,任何一个可以帮助我验证电话号码,这应该适用于我的代码如下,因为我已经遇到了很多验证代码之前

public class PersonAddNumberDialog {
private AlertDialog dialog;

public PersonAddNumberDialog(final Context context, final ListView toUpdate) {

    AlertDialog.Builder builder = new AlertDialog.Builder(context);

    LinearLayout root = new LinearLayout(context);
    root.setOrientation(LinearLayout.VERTICAL);

    final EditText textName = new EditText(context);
    textName.setHint("Name");

    final EditText textNumber = new EditText(context);
    textNumber.setHint("Number");
    textNumber.setInputType(InputType.TYPE_CLASS_NUMBER);

    root.addView(textName);
    root.addView(textNumber);

    dialog = builder
                .setView(root)
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String name = textName.getText().toString(), number = textNumber.getText().toString();
                        if (name != null && !name.equals(""))
                            if (number != null && !number.equals("")) {
                                Person p = new Person(number, name);
                                PersonManager.savePerson(p, context);
                               toUpdate.setAdapter(new PersonAdapter(context, PersonManager.getSavedPersons(context)));
                            }
                    }
                })
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .create();
}

public void show() {
    dialog.show();
}

}

您可以添加尝试以下内容:

if (!Patterns.PHONE.matcher(number).matches() || number.length() < 10){
           new AlertDialog.Builder(this)
                            .setTitle("Invalid Phone Number")
                            .setMessage("Please enter valid Phone Number.")
                            .setPositiveButton(android.R.string.yes, null)
                            .create().show();
        }else {
            // valid mobile number action 
        }
if(!Patterns.PHONE.matcher(number).matches()| | number.length()<10){
新建AlertDialog.Builder(此)
.setTitle(“无效电话号码”)
.setMessage(“请输入有效的电话号码”)
.setPositiveButton(android.R.string.yes,null)
.create().show();
}否则{
//有效手机号码操作
}

@Meghana请试试这个

  @Override
        public void onClick (DialogInterface dialog,int which){
            String name = textName.getText().toString();
            String number = textNumber.getText().toString();

            if (name.equalsIgnoreCase("")) {
                Log.e("Log", "enter name");
                Toast.makeText(getApplicationContext(), "enter name", Toast.LENGTH_LONG).show();
            }
            if (number.equalsIgnoreCase("")) {
                Log.e("Log", "enter number");
                Toast.makeText(getApplicationContext(), "enter number", Toast.LENGTH_LONG).show();
            } else if (number.length() < 10) {
                Log.e("Log", "enter number is not valid");
                Toast.makeText(getApplicationContext(), "enter number is not valid", Toast.LENGTH_LONG).show();
            } else {
                Person p = new Person(number, name);
                PersonManager.savePerson(p, context);
                toUpdate.setAdapter(new PersonAdapter(context, PersonManager.getSavedPersons(context)));

            }
        })
@覆盖
public void onClick(DialogInterface dialog,int which){
String name=textName.getText().toString();
字符串编号=textNumber.getText().toString();
if(name.equalsIgnoreCase(“”){
Log.e(“日志”,“输入名称”);
Toast.makeText(getApplicationContext(),“输入名称”,Toast.LENGTH_LONG.show();
}
if(编号.相等信号案例(“”){
Log.e(“日志”,“输入编号”);
Toast.makeText(getApplicationContext(),“输入数字”,Toast.LENGTH\u LONG.show();
}else if(number.length()<10){
Log.e(“日志”,“输入的编号无效”);
Toast.makeText(getApplicationContext(),“输入的数字无效”,Toast.LENGTH\u LONG.show();
}否则{
人员p=新人员(编号、姓名);
savePerson(p,上下文);
setAdapter(新的PersonalAdapter(上下文,PersonManager.getSavedPersons(上下文));
}
})

现在您只需检查数字是否为
null
”。您尝试实现的验证是什么?现在还不清楚你的问题是什么,它应该只接受10位数的电话号码。验证电话号码不是一件小事。每个国家都有很多电话号码标准。是否要验证任何国家/地区的电话号码?
number.lenght()>=10
?或8位数字作为号码。
  @Override
        public void onClick (DialogInterface dialog,int which){
            String name = textName.getText().toString();
            String number = textNumber.getText().toString();

            if (name.equalsIgnoreCase("")) {
                Log.e("Log", "enter name");
                Toast.makeText(getApplicationContext(), "enter name", Toast.LENGTH_LONG).show();
            }
            if (number.equalsIgnoreCase("")) {
                Log.e("Log", "enter number");
                Toast.makeText(getApplicationContext(), "enter number", Toast.LENGTH_LONG).show();
            } else if (number.length() < 10) {
                Log.e("Log", "enter number is not valid");
                Toast.makeText(getApplicationContext(), "enter number is not valid", Toast.LENGTH_LONG).show();
            } else {
                Person p = new Person(number, name);
                PersonManager.savePerson(p, context);
                toUpdate.setAdapter(new PersonAdapter(context, PersonManager.getSavedPersons(context)));

            }
        })