国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)技巧之在a標簽或TextView控件中單擊鏈接彈出Activity(自定義動作)

2020-04-11 12:32:37
字體:
來源:轉載
供稿:網友
在5.2.1節(jié)和5.2.2節(jié)介紹了<a>標簽以及TextView自動識別的特殊文本(網址、電話號、Email等),這些都可以通過單擊來觸發(fā)不同的動作。雖然這些單擊動作已經可以滿足大多數需要了,但如果讀者想在單擊鏈接時執(zhí)行任意自定義的動作,那么本節(jié)的內容非看不可。

現在讓我們使用5.2.1節(jié)介紹的方法重新查看Html.java文件的內容,隨便找一個處理Html標簽的方法,例
如,endA方法。該方法用于處理</a>標簽。我們會發(fā)現在該方法中如下的語句。

text.setSpan(newURLSpan(h.mHref),where,len,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
其中text是SpannableStringBuilder對象,該對象即可以修改文本內容,又可以將某段文本設置成一個Span,在Android中,Span表示一段文本的效果,例如,鏈接形式、圖像、帶背景色的文本等。

上面代碼中使用setSpan方法將某個區(qū)間(由where和len指定的區(qū)間)的文本設置成URLSpan效果,也就是鏈接顯示效果。其中URLSpan表示將文本設置成鏈接效果,該類是ClickableSpan的子類,在android.text.style包中可以找到URLSpan和ClickableSpan類。實際上,所有的Span類都在android.text.style包中。
我們再按著查看Html.java文件內容的方法查看URLSpan.java文件的內容,會看到一個onClick方法,代碼如下:
復制代碼 代碼如下:

//覆蓋ClickableSpan類中的onClick方法,onClick方法在ClickableSpan類中是抽象方法
@Override
publicvoidonClick(Viewwidget){
Uriuri=Uri.parse(getURL());
Contextcontext=widget.getContext();
Intentintent=newIntent(Intent.ACTION_VIEW,uri);
intent.putExtra(Browser.EXTRA_APPLICATION_ID,context.getPackageName());
context.startActivity(intent);
}

在onClick方法中獲得了<a>標簽的href屬性設置的URL,并調用相應的Activity來顯示網頁。

從onClick方法的源代碼以及ClickableSpan類的名字可以得出一個結論。在5.2.1節(jié)和5.2.2節(jié)介紹的像電話、Email、網址、鏈接都是在ClickableSpan類的onClick方法中通過Action調用相應的Activity來顯示不同的內容的。那么我們也可以采用類似的方法,也就是自己來實現onClick方法,這樣就可以達到自定義單擊動作的目的了。

說做就做,先準備兩個TextView控件。在本例中我們使用SpannableString對象來設置Span,SpannableString和SpannableStringBuilder的區(qū)別是SpannableString不允許修改文本,只允許設置Span,而SpannableStringBuilder即允許修改文本,也允許設置Span。

下面的代碼采用了隱式創(chuàng)建ClickableSpan對象實例的方法來設置Span,并在其中覆蓋了onClick方法。
復制代碼 代碼如下:

packagemobile.android.ch05.link.activity;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.text.SpannableString;
importandroid.text.Spanned;
importandroid.text.method.LinkMovementMethod;
importandroid.text.style.ClickableSpan;
importandroid.view.View;
importandroid.widget.TextView;
publicclassMainextendsActivity
{
@Override
publicvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextViewtextView1=(TextView)findViewById(R.id.textview1);
TextViewtextView2=(TextView)findViewById(R.id.textview2);
Stringtext1="顯示Activity1";
Stringtext2="顯示Activity2";
//將文本轉換成SpannableString對象
SpannableStringspannableString1=newSpannableString(text1);
SpannableStringspannableString2=newSpannableString(text2);
//將text1中的所有文本設置成ClickableSpan對象,并實現了onClick方法
spannableString1.setSpan(newClickableSpan()
{
//在onClick方法中可以編寫單擊鏈接時要執(zhí)行的動作
@Override
publicvoidonClick(Viewwidget)
{
Intentintent=newIntent(Main.this,Activity1.class);
//顯示Activity1
startActivity(intent);
}
},0,text1.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//將text2中的所有文本設置成ClickableSpan對象,并實現了onClick方法
spannableString2.setSpan(newClickableSpan()
{
//在onClick方法中可以編寫單擊鏈接時要執(zhí)行的動作
@Override
publicvoidonClick(Viewwidget)
{
Intentintent=newIntent(Main.this,Activity2.class);
//顯示Activity2
startActivity(intent);
}
},0,text1.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//使用SpannableString對象設置兩個TextView控件的內容
textView1.setText(spannableString1);
textView2.setText(spannableString2);
//在單擊鏈接時凡是有要執(zhí)行的動作,都必須設置MovementMethod對象
textView1.setMovementMethod(LinkMovementMethod.getInstance());
textView2.setMovementMethod(LinkMovementMethod.getInstance());
}
}

現在我們來看一下setSpan方法,該方法有4個參數。第一個參數需要設置一個ClicableSpan對象,第二個和第三個參數分別表示文本中要設置成Span的某段文本的起始位置和終止位置的下一個字符的位置,也就是start和end。最后一個參數是一個標志。在本例中設為Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,該標志在TextView控件中意義不大,但在EditText控件中表示在當前Span效果的前后輸入字符時并不應用Span的效果。還可以設置如下幾個類似的值。
1.Spanned.SPAN_EXCLUSIVE_INCLUSIVE:在Span前面輸入的字符不應用Span的效果,在后面輸入的字符應用Span效果。
2.Spanned.SPAN_INCLUSIVE_EXCLUSIVE:在Span前面輸入的字符應用Span的效果,在后面輸入的字符不應用Span效果。
3.Spanned.SPAN_INCLUSIVE_INCLUSIVE:在Span前后輸入的字符都應用Span的效果。
本例的顯示效果如圖5.5所示。單擊屏幕上的兩個鏈接后,就會分別顯示Activity1和Activity2的界面。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
97视频在线| 国产视频你懂的| 天堂在线一二区| 国产黄视频在线观看| 国产在线你懂得| 91美女在线| 91这里只有精品| a视频免费看| 精品一区二区91| 91久久麻豆| 天天操中文字幕视频| 日本成人免费网站| eeuss影影院www在线播放| 亚洲欧美自拍另类| 国产三级在线观看| 在线三级av| www.操操| 国产美女视频一区二区三区| 国产精品第八页| 天天草天天爽| 国产网友自拍电影在线| 精品176二区| 国产中文在线观看| 国产www网站| 国产免费永久在线观看| 国产福利热线视频| 久草在线资源福利| 国产乱视频在线观看播放| 国产精品一区二区三区四区色| 国产一区二区三区福利| 国产精品伦一区二区三区级视频频| 国产精品人人| 美女被人操视频在线观看| 国产高潮又爽又无遮挡又免费| 久热免费视频| 亚洲www色| 中文字幕2019第三页| 国产日本在线视频| 国产在线中文字幕| 牛牛精品视频在线| gogo在线观看| 日本亚洲欧美| 免费男女羞羞的视频网站中文字幕| 国产成人午夜精品| 国产一二区在线观看| 国产中文字幕在线视频| 牛牛热在线视频| 欧美啪啪精品| 久久香蕉av| 国产精选一区二区三区不卡催乳| 久久99亚洲网美利坚合众国| 俺来俺也去www色在线观看| 爱福利在线视频| 好吊日视频在线观看| 国精一区二区三区| 18加网站在线| 精品剧情v国产在线观看| 在线播放av网站| 男人天堂网在线观看| 亚洲午夜久久久久中文字幕| 在线国产1区| 黄色av免费在线| 最近中文字幕在线中文视频| 国产精品第八页| 在线观看国产福利视频| 日本视频在线| 天堂在线中文| 99在线播放| 国产麻豆一级片| 2018中文字幕在线观看| 青青青国产视频| 中文字幕有码在线视频| 精灵使的剑舞无删减版在线观看| 青青草在线播放| 天天操天天是| 亚洲电影先锋| 国产三区视频在线观看| 日本调教视频在线观看| 国产精品178页| 九九热在线观看| 精品av中文字幕在线毛片| 丁香视频五月| www网站在线观看| 97一区二区三区| 最近免费中文字幕在线第一页| 国产98在线| 五月亚洲综合| 美女国产在线| 亚洲日本一区二区三区在线观看| 成人精品一区二区三区免费| 中文资源在线官网| 国产网友自拍视频导航网站在线观看| 一色桃子av在线| 6699久久国产精品免费| 国产三级在线看| 国产小视频免费在线网址| 男人天堂亚洲| www.麻豆av.com| 色吊丝av中文字幕| 亚洲一区二区三区在线观看网站| 国产精品蜜臀| 69av二区| 在线a人片免费观看视频| 国产成免费视频| 国产精品爱久久久久久久小说 | 国产精品你懂的在线观看| 黄色激情网址| 黄色网址在线免费播放| 欧美韩日国产| 国产精品自产拍在线网站| 91sp网站在线观看入口| 最近中文av字幕在线中文| 91超碰国产在线| 国产三级在线播放| 国产啊啊啊视频在线观看| 91久久精品国产性色| 在线午夜影院| 91黄色在线| 操人视频91| 国产卡一卡二卡三| 国产传媒在线播放| 四虎一区二区三区| 国产69久久| 国产人成在线观看| 在线视频中文字幕第一页| 羞羞视频在线免费看| 久久精品最新免费国产成人| 国产精品偷乱一区二区三区| 国产偷激情在线| av中文在线资源| 国产精选一区二区三区不卡催乳| 国产精品美女一区二区视频| 97视频网站| 国产你懂的在线观看| 国产传媒在线播放| 日本在线视频www鲁啊鲁| 国产精品一区二区三区高清在线 | 国产精品被窝福利一区| www.五月色.com| 国产黄色av免费看| 国产在线观看a视频| 在线视频xx| 国产盗摄一区二区| 国产在线播放av| 欧美亚洲天堂| 伊人222成人综合网| 国产三区视频在线观看| 久草一本av| а√资源新版在线天堂| 中文资源在线官网| 国产精品免费视频二三区| 成av人免费青青久| www.av在线| 亚洲视频在线观看不卡| 国产不卡视频| 国产黄色一级电影| 国产一级黄色电影| 国产在线视精品麻豆| 免费日本黄色| 白浆爆出在线观看| av网址在线播放| 在线视频中文字幕久| 91在线中文| 亚洲一本大道| 日本免费一二区| 免费电影网站在线视频观看福利| 亚洲大香人伊一本线| 在线观看国产视频| www.狠狠艹| 九九热在线播放| 高清欧美精品xxxxx在线看| 成人精品福利| 国产网友自拍视频导航网站在线观看| 国产午夜精品一区理论片| 91av资源在线| 国产视频你懂的| 精品久久av| 美女av在线播放| 国产偷激情在线| 99久久精品免费观看国产| 亚洲精品国自产拍在线观看| 日本18视频网站| 中文字幕第一页在线| 精品偷拍激情视频在线观看| 日本亚洲精品| 国产一级片网站| 在线国产1区| 国产永久免费高清在线观看| 国产成人va亚洲电影| www在线观看播放免费视频日本| 久久精品国产麻豆| 国产系列电影在线播放网址| 亚洲成av人影片在线观看| 成人欧美日韩| 伊人伊人av电影| 国产精品秘入口| 国产卡二和卡三的视频| 四虎免费视频| 国产高清视频在线| 国产免费一级|