textview에 문제가 있습니다. settext를 사용하여 텍스트 값을 변경하면 이전 값이 사라지지 않고 새 값이 그려집니다. 몇 초가 지나면 완전히 이해하기 어렵습니다. (: 내가 그것을 게시 할 수 없습니다 편집)Textview가 올바르게 새로 고쳐지지 않습니다.
이내 소스 코드 :
public class AlarmActivity extends Activity {
int tempsRestant;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm_pad);
startCountdown();
}
void startCountdown(){
//final View view=findViewById(R.layout.activity_alarm_pad).getRootView();
//final View view=((ViewGroup)findViewById(R.layout.activity_alarm_pad)).getChildAt(0);
final View view=this.findViewById(android.R.id.content);
new CountDownTimer(59000, 1000) {
TextView mTextField = (TextView) findViewById(R.id.countdown);
public void onTick(long millisUntilFinished) {
tempsRestant = (int)millisUntilFinished/1000;
mTextField.post(new Runnable() {
public void run() {
mTextField.setText("00:" + tempsRestant);
((View)mTextField.getParent()).invalidate();
}
});
//runOnUiThread(updateTimer());
}
public void onFinish() {
mTextField.setText("Systeme actif");
}
}.start();
}
}
가 나는 시도했다 내가 당신에게 folowing 스크린 샷을 게시 왜 영어로이 버그의 이름을하는 방법을 몰라, 그건 .invalidate() (부모보기의 루트보기)와 많은 것들이 있지만 항상 같은 버그가 있습니다. ...
실제로보기 리프레시에 문제가 있는지 이해할 수 없습니다. 또는 스레드 (카운트 다운 스레드)와 함께.
시도 : textView.setText를 ("") ; then textView.setText ("새 문자열이 여기에옵니다."); –
나는 settext ("")를 시도했지만, 시도한 적은 없었지만 같은 버그가 있습니다. – user2596390
궁금한 점은'post'를 사용하여'TextView'를 업데이트하는 이유는 무엇입니까? 왜 그냥 :'public void onTick (long millisUntilFinished) { tempsRestant = (int) millisUntilFinished/1000; mTextField.setText ("00 :"+ tempsRestant); } ' – Vikram