2013-08-14 3 views
19

내 Android 앱에 TextView이 있습니다. 텍스트에는 링크가 포함될 수 있습니다. 이 텍스트의 예입니다 : 텍스트 하지 HTML에 있음을TextView에서 일반 링크를 클릭 할 수있는 방법은 무엇입니까?

This is just a test. Click the following link http://www.google.com to visit Google.

참고; 그것은 단지 정규 텍스트 일 ​​것입니다.

내가 다음 TextView에, textView.parseLinks() 같은 것을하고 싶은, http://www.google.com 페이지를 열 수-하이퍼 링크 및 클릭 할 수 있습니다.

이것이 가능합니까?

감사

+0

당신은 '텍스트가 HTML이 아니다. 보통 사람이 넣을 일반 텍스트 일 ​​것입니다.'라고 말합니다. 사용자가 텍스트를 입력하면이 EditText 또는 TextView가 사용됩니까? 내 질문은 사용자가 텍스트를 넣을 것인가 아니면 미리 정의 할 것인가? –

+0

아니요 두 가지 활동이 있습니다. 하나는 다중 행 텍스트 편집으로 데이터베이스에 저장됩니다. 사용자는 html을 모른다. 그래서 그들은 html없이 텍스트와 링크를 넣을 것이다. 그런 다음 현재보기에서 이전에 배치 한 텍스트가 다운로드되고 텍스트 뷰에 배치됩니다. – omega

답변

63

시도하고 XML 파일의 TextView 정의에 다음을 포함한다 : android:autoLink

<TextView 
    ... 
    android:autoLink="web"/> 

워드 프로세서 말 :

컨트롤 등의 URL과 전자 메일 주소로 링크 여부 자동으로 발견되어 클릭 가능한 링크로 변환됩니다.

자동으로 링크를 찾는 경우 위의 내용이 도움이 될 수 있습니다. 시도해보십시오.

+0

중요한 정보를위한 훌륭한 inbuilt 솔루션 .. thanxx 사람. –

+0

(superb.inbuilt) 브래킷처럼 단어를 입력하면 링크도 표시됩니다. 어떻게 막을 수 있습니까? – zacharia

+0

정확히 찾고있는 내용입니다. 감사!!! –

6

이와 비슷한 기능이 작동합니다.

TextView tv = (TextView) findViewById(R.id.textView1); 
    String text = "This is just a test. Click this link here <a href=\"http://www.google.com\">Google</a> to visit google."; 
    tv.setMovementMethod(LinkMovementMethod.getInstance()); 
    tv.setText(Html.fromHtml(text)); 
+1

주어진 텍스트''won't'은 HTML입니다. 그래서이게 나를 위해 일하지 않을거야. – omega

2

는 this..it 나를 위해 노력하고 시도

<TextView 
    android:id="@+id/text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:autoLink="web" 
    android:text="click here http://www.google.com/"/> 
5
<TextView 
     ... 
     android:autoLink="..."/> 
//set ... by web|email|none|phone|map|all according to your need 

// 선 아래 안드로이드 추가 링크 색상을 변경하려면 : textColorLink = "@ 색상/yourcolor"

1

URL 및 전화 번호를 TextView으로 선택하는 간단한 방법은

TextView textView = (TextView)findViewById(R.id.textView1); 
textView.setText("some url is www.google.com phone 7504567890 another url lkgndflg.com "); 
Linkify.addLinks(textView, Linkify.WEB_URLS | Linkify.PHONE_NUMBERS); 
관련 문제