2012-10-17 3 views
1

정규 표현식을 사용하여 phonenumbers를 연결하려고하는데 setText()에 적용 할 수 없습니다.Regex를 사용하여 전화 번호 연결하기

저는 인터넷 검색을 해봤고 실제로 성공에 가깝다고 느낍니다.

내가 가진 코드 :

if(tag.equals("Customer")) {  
        String name = xpp.getAttributeValue(null, separated_nodes[0].trim()); 
        String number = xpp.getAttributeValue(null, separated_nodes[1].trim()); 
        String SSNumber = xpp.getAttributeValue(null, separated_nodes[2].trim()); 
        String Address = xpp.getAttributeValue(null, separated_nodes[3].trim()); 
        String Postcode = xpp.getAttributeValue(null, separated_nodes[4].trim()); 
        String City = xpp.getAttributeValue(null, separated_nodes[5].trim()); 
        String Phone = "Phone#: " + xpp.getAttributeValue(null, separated_nodes[6].trim()); 
        String Cell = xpp.getAttributeValue(null, separated_nodes[7].trim()); 
        String Email = xpp.getAttributeValue(null, separated_nodes[8].trim()); 
        // text.setText("Network "+xpp.getAttributeValue(null, "Name")); 
        Pattern pattern = Pattern.compile("[0]{1}[0-9]{6,15}"); 
        Linkify.addLinks(text, pattern, "Phone#: "); 
        //Linkify.addLinks(text, pattern, xmlstring); 
        //Linkify.addLinks(text, pattern, Phone); 

          text.setText("Customer: \nName: " + name +"\n" + 
            "Customer Number: "+ number + "\n" + 
            "Social Security Number: "+ SSNumber +"\n" + 
            "Address: "+ Address +"\n" + 
            "Postal Code: "+ Postcode +"\n" + 
            "City: "+ City +"\n" + 
            ""+ Phone +"\n" + 
            "Cellphone#: "+ Cell +"\n" + 
            "e-mail: "+ Email +"\n"); 



          Linkify.addLinks(text, Linkify.EMAIL_ADDRESSES) ; 


       } 

보시다시피, 필자는 전화 및 핸드폰 번호를 linkify 여러 가지 방법을 시도했다.

RegEx가 맞다고 생각합니다.

당신이 당신의 텍스트보기를 설정 한 후에는 Linkify.addLinks()를 호출 할 필요가

답변

1
  1. , 당신은 Linkify 이미 전화 번호, 예를 지원하지 않습니다
  2. 하기 전에 그 일을하고 Linkify.addLinks(text, Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS)?

업데이트는 여기에 또한

: 세 번째 인수가 Scheme, "전화 번호 :"있어야하는데 Linkify.addLinks(text, pattern, "Phone#: "); 유효한 체계 아닙니다. tel:이어야합니다.

+0

1. 알았어, 이것에 대한 다른 예를 보았다. 2. 그렇습니다.하지만 사회 보장 번호 나 우편 번호가 전화 번호로 표시되기를 원하지 않습니다. 3. tel : 트릭을하지 못했습니다. – DreamHawk

+0

Linkify.PHONE_NUMBERS를 사용합니까? 네가 좋아하는 것보다 더 일치하는 경우에도? – dmon

+0

예, 5 자 이상의 모든 숫자와 일치합니다. 사회 보장 번호 (XXXXXX-XXXX)와 우편 번호 (XXXXX) 둘 다입니다. – DreamHawk

0

불행하게도, 마지막 줄에

Linkify.addLinks(text, Linkify.EMAIL_ADDRESSES) 

에 대한 호출이 Linkify.addLinks 이전 호출()가 생성하는 Spannables을 닦고있다. Linkify Documentation