Ich habe eine for-Schleife, in der ich die setText
Methode anrufen möchte. Dies funktioniert ohne Fehler außer der Tatsache, dass sich der Text erst ändert, wenn das Skript ausgeführt wird. Ich möchte, dass ich den Code jedes Mal ändere, wenn ich die Methode setText
anrufe. Ich habe meinen Code unten angehängt, es sollte ziemlich direkt sein. Code:Periodisch aktualisierter Text wird nicht angezeigt
package com.example.zoe.andone;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startLoop(View view) {
String string = getString(R.string.hello);
((TextView)findViewById(R.id.hello)).setText("starting...");
for (int i = 0; i < 10; i++) {
String updated = Integer.toString(i);
((TextView)findViewById(R.id.hello)).setText(updated);
try {
Thread.sleep(250);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
((TextView)findViewById(R.id.hello)).setText("done!");
}
}
Verwenden Sie 'Handler' anstelle von' Thread.sleep (250); 'auf Haupt Thread –
Ich bin mir nicht sicher, ob ich folge. – pudility