Ich bin neu in Android, habe nicht viel Erfahrung, um Threads zu verwalten. Ich arbeite an einer Aktivität, wo ich Fortschrittsbalken für sagen wir 5 Sekunden anzeigen und dann wiederholen möchte. Während dieser 5 Sekunden werde ich Text anzeigen, damit der Benutzer an dem Text arbeiten kann. Ich möchte das für sagen, N mal wiederholen.Wiederholte ProgressBar-Aktivität für Aufgaben in Android
Derzeit habe ich den folgenden Code, der für 1 solcher Fortschritt funktioniert. Ich habe versucht, es zu loopen, aber es hat nicht geholfen, als Threads zur gleichen Zeit ausgeführt. Wie kann ich dies für N Male wiederholen? Bin ich auf dem richtigen Weg, um mein Problem zu lösen?
public class test extends Activity {
private ProgressBar progressBar;
private int progressStatus = 0;
private TextView textView;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loop);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
textView = (TextView) findViewById(R.id.textView1);
progressBar.setScaleY(3f);
// Start long running operation in a background thread
for(int i=0; i<5; i++)
Progress();
}
public void Progress(){
new Thread(new Runnable() {
public void run() {
while (progressStatus < 100) {
progressStatus += 1;
// Update the progress bar and display the
//current value in the text view
handler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressStatus);
textView.setText(progressStatus+"/"+progressBar.getMax());
}
});
try {
// Sleep for 200 milliseconds.
//Just to display the progress slowly
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
}
'Während dieser 5 Sekunden werde ich etwas Text für den Benutzer anzeigen, um an dem Text zu arbeiten. Um an einem Text zu arbeiten, der in einem TextView angezeigt wird? Was sollte der Benutzer damit machen? – greenapps
Starten Sie nicht gleichzeitig fünf Threads. Starten Sie den nächsten Thread, wenn ein Thread fertig ist. Oder lassen Sie den Code in run() fünf Mal in einer Schleife laufen. – greenapps
Was macht es sinnvoll, dass der Benutzer fünf Mal einen Fortschritt sieht? – greenapps