2011-12-06 7 views
6

나는 사용자에게 팝업 상자로 일부 사용자 메시지 (문자열)를 표시하는 안드로이드 알림 대화 작성기를 사용하고 있습니다.경고 대화 상자 빌더를 사용하여 팝업 상자에 Html 형식의 텍스트를 표시하는 방법은 무엇입니까?

이제 메시지 상자에서이 메시지의 HTML 형식을 지원할 수 있어야합니다. 포함하여이 사용자 메시지에 URL/링크가 반환 될 수 있습니다. 이 링크를 선택하면 현재 응용 프로그램을 백그라운드에두고 전화 브라우저를 팝업하고 사용자를 링크에 있던 URL로 가져 가야합니다. 브라우저를 닫으면 애플리케이션이 다시 포어 그라운드로 이동합니다.

어떻게하면됩니까? 동일한 경고 대화 작성기 또는 다른 선택 항목을 사용할 수 있습니까?

답변

10

주어진 문자열이 포함 된 경우 위의 모든 대답은 등과 같은 HTML 태그를 제거하지 않습니다 같이 다음 경고 대화 상자에서

Linkify.addLinks(Textview, Linkify.ALL) 

2.inflate이 레이아웃을 setText(Html.fromHtml(Source text here)) 를 사용하여, 나는 시도 모든 태그를 제거하려면이 작업은 정상적으로 작동합니다.

AlertDialog.Builder builder = new AlertDialog.Builder(ctx); 
builder.setTitle("Title"); 

LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(LAYOUT_INFLATER_SERVICE); 
View layout = inflater.inflate(R.layout.custom_dialog, null); 

TextView text = (TextView) layout.findViewById(R.id.text); 
text.setMovementMethod(LinkMovementMethod.getInstance()); 
text.setText(Html.fromHtml("<b>Hello World</b> This is a test of the URL <a href=http://www.example.com> Example</a><p><b>This text is bold</b></p><p><em>This text is emphasized</em></p><p><code>This is computer output</code></p><p>This is<sub> subscript</sub> and <sup>superscript</sup></p>";)); 
builder.setView(layout); 
AlertDialog alert = builder.show(); 

이며 custom_dialog는 다음과 같습니다.

<TextView android:id="@+id/text" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textColor="#FFF" 
      /> 

위의 코드

지정된 HTML 서식 텍스트에 클릭 할 URL로 다른 모든 예를 모든 HTML 태그를 제거하고 표시합니다.

0

follow this link

1.create에게 맞춤 알림 대화 상자를 만들 android.text.Spannable

Spannable span = Spannable.Factory.getInstance().newSpannable("html text"); 
textView.setText(span); 
3

에서 Spannable 클래스를 사용하여 대화

A에 대한 레이아웃을보십시오. 해당 레이아웃에서 텍스트 뷰를 생성하십시오.

b. 튜토리얼