【问题标题】:ClickableSpan OnClick is not being called for multi spansClickableSpan OnClick 没有被调用多跨度
【发布时间】:2018-02-18 12:44:27
【问题描述】:
public class MyClickableSpan extends ClickableSpan {

    private String keyWord;
    Context context;

    public MyClickableSpan(String keyWord, Context context) {
        this.keyWord = keyWord;
        this.context = context;
    }

    @Override
    public void onClick(View widget) {
        Intent intent=new Intent(context, MyActivity.class);
        intent.putExtra("KeyWord",keyWord);
        context.startActivity(intent);

        // TODO do something
    }

    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);
        ds.setUnderlineText(true);
        ds.setColor(Color.RED);
    }
}

当我向 SpannableString 添加多个跨度时,UpdateDrawState 对所有单词都正常工作,并且所有目标单词都变为红色并带有下划线,但仅对第一个单词调用 OnClick,而其他单词则没有。

【问题讨论】:

    标签: android textview spannablestring


    【解决方案1】:

    我使用 htmlTextView.getText() 来创建 SpannableString,这些词是 html 文本源中的链接词,因此点击侦听器不起作用 当我把它改成

    SpannableString spannableString = htmlTextView.getText().ToString();

    它可以工作,但我失去了文本的 html 设计。

    【讨论】:

      猜你喜欢
      • 2012-01-28
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多