我有一个 listView,listView 的每个项目都有 textView。我已将 android:autoLink="web|email"设置为 textView 和 onTouch 监听器,跨 listView 的每个项目。当我触摸 textView 时,不会调用 onTouch。
我想要的是,当链接存在于 textView 中时,只有该链接必须是可点击的。我想在那个 onTouch 中获取 textView 的其余部分。如果链接不存在,我想在整个 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);
使用此代码作为引用并使用您的逻辑..无法向您解释整个过程..如果您需要任何帮助,请发表评论。
关于android:listView 中的自动链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208702/