在android中可跨文本视图的特定部分设置clicklistener

mat*_*rix 1 android

我在 android中设置ClickListener文本的特定部分时遇到困难SpannableTextView

我有这样的文字:

注册即表示您同意条款和服务

我只想将 clicklistener 设置为粗体部分?是否可以?

Yas*_*LDI 5

是的,这是可能的。

private void prepareTerms(){
    String termsAndConditionsText = ...;
    String discoverTermsText = ...;

    SpannableString ss = new SpannableString(discoverTermsText);
    int index = discoverTermsText.indexOf(termsAndConditionsText);
    ss.setSpan(
            new ClickableSpan() {
                @Override
                public void onClick(View widget) {
                    // open a webview here if you want
                }
            },
            index,
            index + termsAndConditionsText.length(),
            SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
    );
    mTermAndCondTextView.setText(ss);
    mTermAndCondTextView.setMovementMethod(LinkMovementMethod.getInstance());
}
Run Code Online (Sandbox Code Playgroud)