2013-07-18 3 views
0

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() (부모보기의 루트보기)와 많은 것들이 있지만 항상 같은 버그가 있습니다. ...

실제로보기 리프레시에 문제가 있는지 이해할 수 없습니다. 또는 스레드 (카운트 다운 스레드)와 함께.

+0

시도 : textView.setText를 ("") ; then textView.setText ("새 문자열이 여기에옵니다."); –

+0

나는 settext ("")를 시도했지만, 시도한 적은 없었지만 같은 버그가 있습니다. – user2596390

+0

궁금한 점은'post'를 사용하여'TextView'를 업데이트하는 이유는 무엇입니까? 왜 그냥 :'public void onTick (long millisUntilFinished) { tempsRestant = (int) millisUntilFinished/1000; mTextField.setText ("00 :"+ tempsRestant); } ' – Vikram

답변

0

이 코드를 시도 할 수 있습니다,하지만 난 문제가 장치가 될 수 있다고 생각, 나는 안드로이드 4.2.2 및 2.2에 코드를 시도하고 작동합니다

mTextField.setText(""); 
mTextField.setText("00:" + tempsRestant); 
((View) mTextField.getParent()).invalidate(); 
+0

오클라호마 에뮬레이터로 개발했습니다. 나는 진짜 장치로 시도 할 것이다 ... – user2596390

+0

내 갤럭시 S (안드로이드 4.2.2)와 같은 문제가있다. 에뮬레이터는 안드로이드 2.2를 실행 중입니다 – user2596390

관련 문제