Android TextViewがリンク付き文字イベントの傍受を実現する3つの一般的な方法の例

4208 ワード

この例では、Android TextViewがリンク付き文字イベントの傍受を実現する3つの一般的な方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.

/**
 * TextView          
 * @description:
 * @author ldm
 * @date 2016-4-21   4:34:05
 */
public class TextViewLinkAct extends Activity {
  private TextView tv_3;
  private TextView tv_4;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.link);
    setTextViewLink();
  }
  /**
   *         TextView           
   *
   * @description:
   * @author ldm
   * @date 2016-4-21   4:24:13
   */
  private void setTextViewLink() {
    //  Html  href        
    tv_3 = (TextView) findViewById(R.id.text3);
    tv_3.setText(Html
        .fromHtml("text3: Constructed from HTML programmatically. Text with a "
            + "link "
            + "created in the Java source code using HTML."));
    tv_3.setMovementMethod(LinkMovementMethod.getInstance());
    //   SpannableString setMovementMethod        
    SpannableString ss = new SpannableString(
        "text4: Manually created spans. Click here to dial the phone.");
    ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 30,
        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    ss.setSpan(new URLSpan("tel:4155551212"), 31 + 6, 31 + 10,
        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    tv_4 = (TextView) findViewById(R.id.text4);
    tv_4.setText(ss);
    tv_4.setMovementMethod(LinkMovementMethod.getInstance());
  }
}


レイアウトファイル



  
    
    
    
    
  



このうち、android:autoLinkプロパティの選択項目は、none(リンク効果なし)、web(Webリンク)、email(メール送信)、phone(電話)、map(位置決め)、all(デフォルトはすべて自動リンク)です.
Androidに関する詳細に興味のある方は、「Android開発入門と進級チュートリアル」、「Androidデバッグテクニックとよくある問題解決方法の概要」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayoutテクニックのまとめ」、「Androidコントロールの使い方のまとめ」を参照してください.
この文書がAndroidプログラムの設計に役立つことを願っています.