У меня есть TextView
в моем приложении для Android.Когда я использую setText()
, чтобы старый текст TextView
все еще появлялся, и новый текст записывался на нем.Если я закрою экран телефона и открою его через небольшой промежуток времени, старый текст TextView
исчезнет.
Как я могу решить эту проблему?
Серым цветом является старый текст TextView
, а зеленым - новый текст TextView
, это код XML:
<TextView
android:id="@+id/challengeStateInResultActivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:layout_marginTop="5dp"
android:background="@color/gray"
android:padding="7dp"
android:text="جارى التحميل ..."
android:textColor="@color/white"
android:textSize="20sp" />
, и этокод докладчика:
fireStoreChallenges.document(challengeId).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
final DocumentSnapshot documentSnapshot = task.getResult();
final long opponentScore = documentSnapshot.getLong("player1score");
String player1uid = documentSnapshot.getString("player1Uid");
fireStoreUsers.document(player1uid).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
String opponentName = document.getString("userName");
String opponentImage = document.getString("userImage");
view.setOpponentData(opponentScore, opponentName, opponentImage);
}
}
});
int opponentScoreInt = (int) opponentScore;
if (score == opponentScoreInt) {
view.setChallengeTvText(drawChallengeText);
} else {
if (score > opponentScoreInt) {
view.setChallengeTvText(wonChallengeText);
view.setChallengeTvBGColor(context.getResources().getColor(R.color.green));
} else {
view.setChallengeTvText(loseChallengeText);
view.setChallengeTvBGColor(context.getResources().getColor(R.color.red));
}
}
}
}
});
и это метод в представлении:
@Override
public void setChallengeTvText(String text) {
challengeStateTv.setText(text);
challengeStateTv.invalidate();
}