[英]New TextView created when using setText to a TextView
我的Android應用程序中有一個TextView
。 當我使用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();
}
要更新以前的文本,您可以使用
TextView.setText("NEW_TEXT");
代碼示例:
TextView tv;
// inside OnCreate method
tv = (TextView) findViewById(R.id.TextView) // link to your xml TextView Definition
// to clear the TextView you can use as below
// tv.setText("");
// to set Text as "Hello"
tv.setText("Hello");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.