首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android TextView 给文本中拇指定片段添加自定义点击事件

2012-06-26 
Android TextView 给文本中指定片段添加自定义点击事件package wq.testimport android.app.Activityimpo

Android TextView 给文本中指定片段添加自定义点击事件

package wq.test;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.text.SpannableString;import android.text.Spanned;import android.text.method.LinkMovementMethod;import android.text.style.ClickableSpan;import android.view.View;import android.widget.TextView;public class AndroidTestActivity extends Activity{private final String stringToShow = "test,test,test,test,test,test,test,test,test,test,test,test," +"test,test,test,test,test,test,test,test,test,test,test,test,test,test" +",test,test,test,test,test,test,test,test,test,test,test,test,test,test" +"testtest test test...";private final String readMore = "Read More";@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);this.setContentView(R.layout.main);TextView tv = (TextView) this.findViewById(R.id.textView);ClickableSpan clickableSpan = new ClickableSpan() {@Overridepublic void onClick(View widget) {if (widget instanceof TextView) {((TextView) widget).setText(stringToShow + stringToShow);}}};setClickableSpanForTextView(tv, clickableSpan, stringToShow + readMore, stringToShow.length(), stringToShow.length() + readMore.length());}/** *  * @param tv TextView * @param clickableSpan Click event * @param text Text to show * @param start Start point in text for handle click event * @param end End point in text for handle click event */private void setClickableSpanForTextView(TextView tv, ClickableSpan clickableSpan, String text, int start, int end) {SpannableString sp = new SpannableString(text);sp.setSpan(clickableSpan, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);tv.setText(sp);tv.setLinkTextColor(Color.RED);tv.setMovementMethod(LinkMovementMethod.getInstance());tv.setFocusable(false);tv.setClickable(false);tv.setLongClickable(false);}}

热点排行