H
heikoj10.1
Neues Mitglied
- 4
Hallo zusammen,
ich möchte für Sport einen Timer programmieren der mit in einem einstellbaren Intervall x Sekunden grün und danach y Sekunden rot anzeigt und das ganze zum Beispiel 10 mal hintereinander.
In den angehängten Quellen habe ich es hin bekommen, dass der Zähler x Sekunden runter zählt und dann auf rot springt. Aber halt nur einmal auch die Rot-Phase ist nicht einstellbar bzw. bleibt nicht für y- Sekunden.
Kann mir bitte jemand helfen, wie ich einen Countdown einmal in grün und einmal in rot paar mal hintereinander hin bekomme.
ich muss zugeben dass ich vom C-Programmieren her komme und in Java usw. Anfänger bin.
Meine Quellen:
public class Serie extends Activity implements View.OnClickListener {
Button btnAbruch;
TextView tvAnzeige;
Timer timer;
TimerTask task;
int pause, halten, wiederholungen, coutdownzeit;
CountDownTimer myCountdowntimer;
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_serie);
tvAnzeige = (TextView) findViewById(R.id.tvAnzeige);
btnAbruch = (Button) findViewById(R.id.btnAbbruch);
btnAbruch.setOnClickListener(this);
Bundle extras = getIntent().getExtras();
pause = extras.getInt("Pause");
halten = extras.getInt("Halten");
wiederholungen = extras.getInt("Wiederholungen");
// Funktionsaufruf
functionWarten(pause);
functionWarten(pause); // war nur ein Test ob das zweimal hintereinander geht
}
@override
public void onClick(View v) {
Intent intent;
intent = new Intent(this, MainActivity.class);
startActivity(intent);
this.finish();
}
// Funktion Deklaration
private void functionWarten(int zeit) {
new CountDownTimer(zeit * 1000, 1000) {
@override
public void onTick(long millisUntilFinished) {
tvAnzeige.setBackgroundColor(Color.GREEN);
tvAnzeige.setText("" + millisUntilFinished / 1000);
}
@override
public void onFinish() {
tvAnzeige.setText("Fertig!");
tvAnzeige.setBackgroundColor(Color.RED);
}
}.start();
}
}
ich möchte für Sport einen Timer programmieren der mit in einem einstellbaren Intervall x Sekunden grün und danach y Sekunden rot anzeigt und das ganze zum Beispiel 10 mal hintereinander.
In den angehängten Quellen habe ich es hin bekommen, dass der Zähler x Sekunden runter zählt und dann auf rot springt. Aber halt nur einmal auch die Rot-Phase ist nicht einstellbar bzw. bleibt nicht für y- Sekunden.
Kann mir bitte jemand helfen, wie ich einen Countdown einmal in grün und einmal in rot paar mal hintereinander hin bekomme.
ich muss zugeben dass ich vom C-Programmieren her komme und in Java usw. Anfänger bin.
Meine Quellen:
public class Serie extends Activity implements View.OnClickListener {
Button btnAbruch;
TextView tvAnzeige;
Timer timer;
TimerTask task;
int pause, halten, wiederholungen, coutdownzeit;
CountDownTimer myCountdowntimer;
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_serie);
tvAnzeige = (TextView) findViewById(R.id.tvAnzeige);
btnAbruch = (Button) findViewById(R.id.btnAbbruch);
btnAbruch.setOnClickListener(this);
Bundle extras = getIntent().getExtras();
pause = extras.getInt("Pause");
halten = extras.getInt("Halten");
wiederholungen = extras.getInt("Wiederholungen");
// Funktionsaufruf
functionWarten(pause);
functionWarten(pause); // war nur ein Test ob das zweimal hintereinander geht
}
@override
public void onClick(View v) {
Intent intent;
intent = new Intent(this, MainActivity.class);
startActivity(intent);
this.finish();
}
// Funktion Deklaration
private void functionWarten(int zeit) {
new CountDownTimer(zeit * 1000, 1000) {
@override
public void onTick(long millisUntilFinished) {
tvAnzeige.setBackgroundColor(Color.GREEN);
tvAnzeige.setText("" + millisUntilFinished / 1000);
}
@override
public void onFinish() {
tvAnzeige.setText("Fertig!");
tvAnzeige.setBackgroundColor(Color.RED);
}
}.start();
}
}