我有一个listView,而listView的ech项目有textView。我已经在listView的每个项目上将android:autoLink =“ web | email”设置为textView和onTouch侦听器。当我触摸textView时,不会调用onTouch。
我想要的是,当textView中存在链接时,只有该链接必须是可单击的。其余的TextView我想进入该onTouch。如果链接不存在,我想在整个整个listView项目中获得onTouch。有什么办法吗..请帮助。
最佳答案
String styledText = getResources().getString(R.string.Email);
SpannableString span = new SpannableString(styledText);
span.setSpan(new StyleSpan(Typeface.ITALIC),
styledText.indexOf("Terms"), styledText.length(), 0);
span.setSpan(new UnderlineSpan(), styledText.indexOf("Terms"),
styledText.length(), 0);
ClickableSpan clickSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
showInfoDialog();
}
};
span.setSpan(clickSpan, styledText.indexOf("Terms"),
styledText.length(), 0);
span.setSpan(
new ForegroundColorSpan(getResources().getColor(R.color.link_)),
styledText.indexOf("Terms"), styledText.length(), 0);
txt_accept.setText(span, BufferType.SPANNABLE);
使用此代码作为参考,并使用您的逻辑。.无法向您解释整个过程。.如果需要帮助,请评论。