0
我有一個字符串,例如:「@user喜歡你的照片!2小時前」用細字體。我無法使用setSpan工作
該字符串由3部分組成;
1:@user - >應該是typeface.normal和點擊
2:喜歡你的照片! - >這保持不變(薄和黑色)
3:2h前 - >這應該是灰色的。
Spannable spannedTime = new SpannableString(time);
Spannable clickableUsername = new SpannableString(username);
clickableUsername.setSpan(new StyleSpan(Typeface.NORMAL), 0, clickableUsername.length(), 0); // this is for 1st part to make it normal typeface
spannedTime.setSpan(new BackgroundColorSpan(Color.GRAY), 0, spannedTime.length(), 0); // this is for 3rd part to make it gray
clickableUsername.setSpan(new ClickableSpan() {
@Override
public void onClick(View view) {
CallProfileActivity();
}
}, 0, clickableUsername.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);// this is for 1st part to make it clickable
this.setText(clickableUsername + " " + notificationBody + " " + spannedTime);
但他們都沒有任何影響。
定義「不工作」... CallProfileActivity()是做什麼的? –
請參閱BackgroundColorSpan,StyleSpan和ClickableSpan,它們都不起作用。 CallProfileActivity();作品完全正確,它只是開啓一項活動。 –
您能否提供[mcve],以便我們可以嘗試重現此問題? –