안드로이드에서 스레드 sleep() 메소드를 써보려고 하는데, 생각대로 잘 안됩니다.
9x9 크기의 TextView에 숫자를 채우되, 0.1초마다 한칸씩 채우려고 합니다.

다음과 같이 코드를 작성하였습니다.
package com.example.testfortest;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView[][] basicCell=new TextView[9][9];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initVar();
int cnt=0;
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
basicCell[i][j].setText(j+"");
basicCell[i][j].setTextColor(Color.BLACK);
basicCell[i][j].setTextSize(20);
basicCell[i][j].setGravity(Gravity.CENTER);
try{
Thread.sleep(100);
}catch (InterruptedException e){
e.printStackTrace();
}
Log.d("COUNT", ""+cnt++);
}
}
}
}
TextView[][] basicCell=new TextView[9][9];
를 만들어서, 각 텍스트뷰를 전부 연결시켰습니다.
기대되는 결과 화면은 다음과 같습니다.

코드 중간에
try{ Thread.sleep(100); }
catch (InterruptedException e) { }
를 삽입해서,
숫자가 0.1초마다 하나씩 나오게 하려고 했습니다만...
어플을 실행하면, 몇 초동안 가만히 있다가 숫자들이 한꺼번에 나옵니다.
로그를 찍어서 살펴봤는데,
Log.d("COUNT", ""+cnt++);
로그챗에서는 열심히 로그를 찍으며 돌아가는데,
화면은 몇 초동안 먹통상태에 있다가,
cnt가 80이 딱 되니까, 화면에 숫자들을 한꺼번에 표시했습니다.
에뮬레이터 렉인가 싶어, 제 스마트폰으로도 돌려봤는데, 결과는 똑같더군요.
뭐가 문제인지 모르겠습니다.
의도한대로 결과를 볼 수 있는 방법이 있을까요?
(코드 전체를 올리고 싶은데, 글 길이 제한 때문에 안올라가네요. ㅠ)