Android TextView實現超連結

來源:互聯網
上載者:User

public class Link extends Activity {<br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);</p><p> setContentView(R.layout.link);</p><p> // text1 shows the android:autoLink property, which<br /> // automatically linkifies things like URLs and phone numbers<br /> // found in the text. No java code is needed to make this<br /> // work.</p><p> // text2 has links specified by putting tags in the string<br /> // resource. By default these links will appear but not<br /> // respond to user input. To make them active, you need to<br /> // call setMovementMethod() on the TextView object.</p><p> TextView t2 = (TextView) findViewById(R.id.text2);<br /> t2.setMovementMethod(LinkMovementMethod.getInstance());</p><p> // text3 shows creating text with links from HTML in the Java<br /> // code, rather than from a string resource. Note that for a<br /> // fixed string, using a (localizable) resource as shown above<br /> // is usually a better way to go; this example is intended to<br /> // illustrate how you might display text that came from a<br /> // dynamic source (eg, the network).</p><p> TextView t3 = (TextView) findViewById(R.id.text3);<br /> t3.setText(<br /> Html.fromHtml(<br /> "text3: Text with a " +<br /> "http://www.google.com/">link> " +<br /> "created in the Java source code using HTML."));<br /> t3.setMovementMethod(LinkMovementMethod.getInstance());</p><p> // text4 illustrates constructing a styled string containing a<br /> // link without using HTML at all. Again, for a fixed string<br /> // you should probably be using a string resource, not a<br /> // hardcoded value.</p><p> SpannableString ss = new SpannableString(<br /> "text4: Click here to dial the phone.");</p><p> ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,<br /> Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);<br /> ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,<br /> Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);</p><p> TextView t4 = (TextView) findViewById(R.id.text4);<br /> t4.setText(ss);<br /> t4.setMovementMethod(LinkMovementMethod.getInstance());<br /> }<br />}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.