我有一个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);


使用此代码作为参考,并使用您的逻辑。.无法向您解释整个过程。.如果需要帮助,请评论。

10-06 01:01