System.NanoTime を使用して経過時間を追跡していますが、UI で更新されません。以下は私のコードです:
ただし、私はこの方法ですべてを行っています。onCreate()
私が取ったアプローチは堅牢ではないかもしれませんが、それは私がもっとアイデアが欲しいところです.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = (System.nanoTime() - startTime) / 1000000000;
System.out.println(""+estimatedTime);
while (estimatedTime <= 100){
System.out.println(""+estimatedTime);
if(estimatedTime == 1){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Preparing");
}
if(estimatedTime == 2){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Inatializing");
}
if(estimatedTime == 3){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Preparing to install");
}
if(estimatedTime == 4){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Installing");
}
if(estimatedTime == 5){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Installed");
}
if(estimatedTime == 6){
TextView tx = (TextView)findViewById(R.id.textView);
tx.setText("Unzipping packages...");
}
estimatedTime = (System.nanoTime() - startTime) / 1000000000;
}
}