亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SpannableString 和 ClickableSpan 的問題

SpannableString 和 ClickableSpan 的問題

Helenr 2022-05-20 13:19:40
我寫了這段代碼:public class BaldrActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.a_dei_baldr);    String myString = "Click Here!";    SpannableString ss = new SpannableString(myString);    ClickableSpan clickableSpan1 = new ClickableSpan() {        @Override        public void onClick(View widget) {            Toast.makeText(BaldrActivity.this, "hello world", Toast.LENGTH_SHORT).show();        }        @Override        public void updateDrawState(TextPaint ds) {            super.updateDrawState(ds);            ds.setColor(Color.BLUE);            ds.setUnderlineText(false);        }    };    ss.setSpan(clickableSpan1, 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    TextView tv = findViewById(R.id.tv_baldr1);    tv.setText(myString);    tv.setMovementMethod(LinkMovementMethod.getInstance());}}但是……什么都沒有改變。我的意思是,代碼構建正確,應用程序沒有崩潰,TextView 實際上在“單擊此處!”中發生了變化,但它不可點擊并且它的外觀沒有改變......為什么?
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

看起來你正在設置字符串:

tv.setText(myString);

相反,設置您正在創建的 SpannableString:

tv.setText(ss);


查看完整回答
反對 回復 2022-05-20
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號