Android(安卓)TextView 给文本中指定片段添加自定义点击事件
16lz
2022-06-17
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);}}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer