編輯:Android開發實例
本文實例展示了Android中實現為TextView添加多個可點擊的文本的方法。該功能在Android社交軟件的制作中非常具有實用價值。分享給大家供大家參考。具體如下:
很多時候我們在使用社交軟件的過程中多多少少會為別人的帖子點贊,如下圖所示:

可以看到用戶頁面顯示出來的只是點了贊的用戶的名稱,點擊這些名稱可以進入到該用戶的主頁。下面我們就來實現類似的效果。
具體代碼如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView mTextView = (TextView) rootView.findViewById(R.id.like_tv);
// 構造多個超鏈接的html, 通過選中的位置來獲取用戶名
StringBuilder sbBuilder = new StringBuilder();
for (int i = 0; i < 10; i++) {
sbBuilder.append("username-" + i + "、");
}
String likeUsers = sbBuilder.substring(0, sbBuilder.lastIndexOf("、")).toString();
mTextView.setMovementMethod(LinkMovementMethod.getInstance());
mTextView.setText(addClickablePart(likeUsers), BufferType.SPANNABLE);
}
/**
* @param str
* @return
*/
private SpannableStringBuilder addClickablePart(String str) {
// 第一個贊圖標
ImageSpan span = new ImageSpan(getActivity(), R.drawable.umeng_comm_like);
SpannableString spanStr = new SpannableString("p.");
spanStr.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
SpannableStringBuilder ssb = new SpannableStringBuilder(spanStr);
ssb.append(str) ;
String[] likeUsers = str.split("、");
if (likeUsers.length > 0) {
// 最後一個
for (int i = 0; i < likeUsers.length; i++) {
final String name = likeUsers[i];
final int start = str.indexOf(name) + spanStr.length();
ssb.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(getView().getContext(), name,
Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
// ds.setColor(Color.RED); // 設置文本顏色
// 去掉下劃線
ds.setUnderlineText(false);
}
}, start, start + name.length(), 0);
}
}
return ssb.append("等"
+ likeUsers.length + "個人贊了您.");
} // end of addClickablePart
運行效果如下圖所示:

希望本文所述對大家的Android程序設計有所幫助
Android編程開發中ListView的常見用法分析
本文實例講述了Android編程開發中ListView的常見用法。分享給大家供大家參考,具體如下: 一、ListView的使用步驟 ListView的使用通常有以
一看就懂的Android APP開發入門教程
工作中有做過手機App項目,前端和android或ios程序員配合完成整個項目的開發,開發過程中與ios程序配合基本沒什麼問題,而android各種機子和rom的
Android JSON解析器
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
Android應用開發工程目錄作用介紹
1、src:java源碼文件,自己寫的。 2、gen:自動生成的java文件,包名與主包名一致,ADT裡自動生成的。 (1)BuildConfig:配置文件,不能