textView autolink 和onclick 点击事件冲突
2014-10-11 15:44
561 查看
http://blog.csdn.net/dadzyl/article/details/39315445
extView设置autolink后,点击会自动响应超链接的处理,想要点击除超链接的部分实现跳转到其他activity,现实现自定义控件。
1.自定义AutoLinkTextView
[java] view
plaincopy
import android.content.Context;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.TextView;
public class AutoLinkTextView extends TextView {
public AutoLinkTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AutoLinkTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AutoLinkTextView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
SpannableString span = new SpannableString(getText());
ClickableSpan[] links = span.getSpans(getSelectionStart(),
getSelectionEnd(), ClickableSpan.class);
if (links.length != 0) {
return true;
}
return false;
}
}
2.layout
在引用AutoLinkTextView的根布局中需添加属性 android:descendantFocusability="blocksDescendants"
extView设置autolink后,点击会自动响应超链接的处理,想要点击除超链接的部分实现跳转到其他activity,现实现自定义控件。
1.自定义AutoLinkTextView
[java] view
plaincopy
import android.content.Context;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.TextView;
public class AutoLinkTextView extends TextView {
public AutoLinkTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AutoLinkTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AutoLinkTextView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
SpannableString span = new SpannableString(getText());
ClickableSpan[] links = span.getSpans(getSelectionStart(),
getSelectionEnd(), ClickableSpan.class);
if (links.length != 0) {
return true;
}
return false;
}
}
2.layout
在引用AutoLinkTextView的根布局中需添加属性 android:descendantFocusability="blocksDescendants"
相关文章推荐
- TextView ClickableSpan onClickListener点击事件冲突
- textview设置属性autolink后,点击网址链接如何捕捉到点击事件或者如何让其跳转到特定的app activity中
- android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- Android TextView中链接(link)点击事件的截取
- Android TextView中链接(link)点击事件的截取
- Android之TextView------LINK的点击事件
- Android之TextView------LINK的点击事件
- android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- RecyclerView添加点击事件和textView的超链接点击事件冲突
- ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件
- 自定义 textview上LINK的点击事件
- Android TextView中链接(link)点击事件的截取
- textview文本片段点击事件与textview点击事件冲突执行两次(最终解决办法)
- SpannableString中的ClickableSpan和Textview点击事件冲突解决
- textview文本片段点击事件与textview点击事件冲突执行两次(最终解决办法)
- 转:android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- Android TextView中链接(link)点击事件的截取
- TextView的内部链接与onClick事件冲突
- 名词解释功能:TextView 给部分文字加下划线并实现点击事件
- 监听TextView中链接文本的点击事件