1

私はlistViewを持っており、listViewの各アイテムにはtextViewがあります。listView の各項目で android:autoLink="web|email" を textView と onTouch リスナーに設定しました。textView に触れると、onTouch は呼び出されません。

私が望むのは、リンクがtextViewに存在する場合、そのリンクのみがクリック可能でなければならないということです.textViewの残りの部分は、そのonTouchで取得したい.そして、リンクが存在しない場合は、listViewアイテム全体でonTouchを取得したい. 何か方法はありますか?..助けてください。

4

1 に答える 1

1
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);

このコードを参照として使用し、ロジックを使用してください..プロセス全体を説明することはできません..助けが必要な場合はコメントしてください.

于 2011-11-21T07:54:12.667 に答える