2017-07-15 57 views
0

我試圖從數字類型的EditText解析用戶輸入作爲電話號碼,但其格式不正確。在用於呼叫號碼的動作中,它告訴我該號碼無效。這段代碼是否正確解析了它的調用意圖?試圖解析用戶輸入並將其格式化爲電話號碼

LayoutInflater inflater = LayoutInflater.from(PbfSampleApplication.this); 
View v = inflater.inflate(R.layout.activity_main, null); 
EditText innerView = (EditText)v.findViewById(R.id.number); 
String actualnum="tel:"+innerView.getText().toString().trim(); 
+0

那麼什麼是真正的「數字「從該調用返回到'toString()'? –

+0

在您的Xml文件中,將此屬性添加到EditText字段android:inputType =「number」。然後用戶可以只輸入整數值,然後你可以簡單地使用String.valueOf(innerView) –

+0

這實際上讓我最接近,但現在它調用一些android小部件EditText值而不是數字本身輸入。這裏發生了什麼? –

回答

0

您可以使用下面的代碼驗證手機號碼:

private boolean isValidPhone(String s) { 
    String expression = "^[7-9]{1}[0-9]{9}$"; 
    CharSequence inputString = s; 
    Pattern pattern = Pattern.compile(expression); 
    Matcher matcher = pattern.matcher(inputString); 
    if (matcher.matches()) 
    { 
     return true; 
    } 
    else{ 
     return false; 
    } 
} 
2

我建議你嘗試:的

String.valueOf(innerView.getText()); 

代替:

toString()