마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

구형 기기에서만 팅깁니다.

0 추천
 
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
    @Override
    public void run() {
        a += b;
        textViewA.setText("텍스트A " + a);
        textViewB.setText("텍스트C : " + c);
        textViewC.setText("텍스트B : " + b);
    }
};
timer.schedule(timerTask, 1000 , 1000); // 1초마다 골드내역 갱신

타이머에서 멈추는거 같은데

AVD(Nexus 5X API 28)랑 갤럭시S7에서는 문제없이 되는데

그랜드맥스로 테스트해보려고 하니까 팅겨버리네요

아래는 로그입니다

 

E/AndroidRuntime: FATAL EXCEPTION: Timer-0
    Process: com.example.clicker, PID: 9704
    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
        at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6430)
        at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:912)
        at android.view.ViewGroup.invalidateChild(ViewGroup.java:4461)
        at android.view.View.invalidate(View.java:11088)
        at android.view.View.invalidate(View.java:11043)
        at android.widget.TextView.checkForRelayout(TextView.java:7167)
        at android.widget.TextView.setText(TextView.java:4204)
        at android.widget.TextView.setText(TextView.java:4057)
        at android.widget.TextView.setText(TextView.java:4032)
        at com.example.clicker.MainActivity$1.run(MainActivity.java:105)
        at java.util.Timer$TimerImpl.run(Timer.java:284)
I/Process: Sending signal. PID: 9704 SIG: 9
Process 9704 terminated.

어디가 문제일까요

그랜드맥스는 4.4.4 킷캣입니다.

초봇개발자 (140 포인트) 님이 2019년 10월 31일 질문
초봇개발자님이 2019년 10월 31일 수정

1개의 답변

0 추천
익명사용자 님이 2019년 11월 2일 답변
...