Fix link number increasing in the TalkBack menu.

This caused by we add new URLSpan everytime when onBindViewHolder
called.

Bug: 195946803
Test: manual
Change-Id: Ic4272df327d8ad7758bcfbf2d194e6bc60881f0f
This commit is contained in:
Edgar Wang
2021-08-24 02:04:49 +08:00
parent 2943f54efc
commit 45baaa0f40

View File

@@ -43,6 +43,7 @@ public class FooterPreference extends Preference {
View.OnClickListener mLearnMoreListener;
private CharSequence mContentDescription;
private CharSequence mLearnMoreContentDescription;
private FooterLearnMoreSpan mLearnMoreSpan;
public FooterPreference(Context context, AttributeSet attrs) {
super(context, attrs, R.attr.footerPreferenceStyle);
@@ -68,7 +69,11 @@ public class FooterPreference extends Preference {
if (learnMore != null && mLearnMoreListener != null) {
learnMore.setVisibility(View.VISIBLE);
SpannableString learnMoreText = new SpannableString(learnMore.getText());
learnMoreText.setSpan(new FooterLearnMoreSpan(mLearnMoreListener), 0,
if (mLearnMoreSpan != null) {
learnMoreText.removeSpan(mLearnMoreSpan);
}
mLearnMoreSpan = new FooterLearnMoreSpan(mLearnMoreListener);
learnMoreText.setSpan(mLearnMoreSpan, 0,
learnMoreText.length(), 0);
learnMore.setText(learnMoreText);
if (!TextUtils.isEmpty(mLearnMoreContentDescription)) {