ClickableSpan TextView 在单击后保持选中状态

ash*_*duh 6 android

我使用以下代码使我TextView看起来像一个链接,当用户单击它时,我显示一个AlertDialog. 但在用户离开对话框后,文本仍保持选中状态,而且看起来很丑。

    TextView terms = (TextView)findViewById(R.id.TextViewTerms);
    terms.setMovementMethod(LinkMovementMethod.getInstance());
    Spannable spanTerms = (Spannable)terms.getText();
    ClickableSpan clickSpan = new ClickableSpan()
    {
        @Override
        public void onClick(final View view)
        {
            new AlertDialog.Builder(AboutActivity.this)
                .setTitle(R.string.title_terms)
                .setMessage(R.string.terms_of_use)
                .setCancelable(true)
                .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which)
                    {
                        dialog.dismiss();
                    }
                })
                .show();
        }
    };

    spanTerms.setSpan(clickSpan, 0, spanTerms.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

我也尝试过打电话setSelected(false),但也不起作用。有任何想法吗?

Jan*_*ans 4

只需添加到对话框的方法Selection.setSelection(spanTerms, 0);中即可。onClick