7

일부 텍스트에 "http : // www"가 포함되어 있음을 어떻게 알 수 있습니까? 웹보기에서 도메인을 표시하고 싶습니다. 도메인 이름은 TextView로 작성되지만 접두어를 추가 할 수있는 제한은 없습니다. 사용자가 입력하지 않으면 webview에 URL을 추가하고 표시해야합니다.http : // www. 텍스트가 아니라면 Exist

답변

18

당신은

+0

입니다. 어쨌든 사용자가 'www.domain.com'을 입력 한 경우도 처리해야합니다. –

+0

안녕 세바스티앙, 다시 대답을 확인하십시오 – silwar

+0

흠,이 방법은 버그가 있습니다 (예 :'www.http : // www .domain.com'). 어쨌든 포스터는 자신의 필요에 따라 코드를 조정할 것입니다. –

3

도메인 이름이 잘 형성되고 일반 식을 사용하고, 접두사 포함 (또는없는) 것을 확인하는 가장 효율적인 방법.

체크 아웃 Java Pattern 안드로이드에서 정규 표현식을 개발하였습니다. 그만한 가치가 있습니다.

+0

링크는이 방법을 정규식을 사용하는 것보다 조금 더 간단하다 죽은 (404) – mitsest

1

TextView에서 텍스트를 가져 와서 startsWith()를 통해 구문 분석합니다. false 인 경우 텍스트에 추가하고 setText()를 사용하여 재정렬하십시오.

"www."와 같은 다른 표현식을 확인할 수도 있습니다. 따라서 contains()를 자세히 살펴보십시오.

1

Sebastien이 요청한 것처럼 regex는 좋은 옵션입니다. 당신은 또한 당신은 당신이 알고 싶은 URL에 대한 모든 것을 얻을 수 있어야 uri.somemethod으로 다음 URI 객체

Uri uri = Uri.create(view.getText().toString()); 

를 작성, 뷰에서 텍스트를 얻을 수 있습니다. uri가 작성되지 않으면 오류 메시지가 생성되어 잘못된 것이 발생합니다.

-2

String a = "http://"; 
webview.loadUrl(a + url.getText().toString()); 
+0

을 수정해야합니다. – Tommie

4

그냥 시도 당신은 웹보기에 내용을 표시하려면이 URL을 사용할 수 있습니다

String url = textView.getText().toString(); 
if(!url.startsWith("www.")&& !url.startsWith("http://")){ 
    url = "www."+url; 
} 
if(!url.startsWith("http://")){ 
    url = "http://"+url; 
} 

희망이 당신의 문제를 해결할 것처럼 할 수 @ 실과 수정 및 https 추가 :

if(!url.startsWith("www.")&& !url.startsWith("http://") && !url.startsWith("https://")){ 
     url = "www."+url; 
    } 
    if(!url.startsWith("http://") && !url.startsWith("https://")){ 
     url = "http://"+url; 
    } 
관련 문제