Simpler Countdown?!

  • Antworten:8
  • OffenNicht stickyNicht beantwortet

19.05.2010 18:09:25 via Website

Hallo liebe Gemeinde!

Ich habe folgenden Code von developer.android.com
1new CountdownTimer(30000, 1000) {
2
3 public void onTick(long millisUntilFinished) {
4 mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
5 }
6
7 public void onFinish() {
8 mTextField.setText("done!");
9 }
10 }.start();

Er soll einen simplen Countdown in einem Textfeld zeigen.

So weit so gut, wenn ich diesen Code allerdings in Eclipse einfüge zeigt er mir gewisse Fehler an.

1package countdown.test;
2
3import android.app.Activity;
4import android.os.Bundle;
5
6public class test extends Activity {
7 /** Called when the activity is first created. */
8 @Override
9 public void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 new CountdownTimer(30000, 1000) {
12
13 public void onTick(long millisUntilFinished) {
14 mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
15 }
16
17 public void onFinish() {
18 mTextField.setText("done!");
19 }
20 }.start();
21
22 }
23}

So sieht mein Code aus.
Der Fehler:
CountDownTimer cannot be resolved to a type test.java /Countdown21/src/countdown/test line 11 Java Problem

Wenn ich "Change to CountDownTimer (android.os)" auswähle, stellt er dies zwar richtig, zeigt aber gleich zwei neue Fehler an.
Undzwar bei den Textfeldern...

...ich verzweifel... :sleep:

22.05.2010 22:51:02 via Website

Du musst der mTextField.setText() schon auch die Chance zu geben, etwas zu haben das es setzen kann!

setText bedient eine benannte TextView mit Namen:mTextField die Du aber nicht hast ...

So gehts dann zum Beispiel ...

new CountDownTimer(30000, 1000) {
TextView mTextField = (TextView) findViewById(R.id.zeile2); // zeile2 bezeichnet hier eine im main.xml abenannte TextView
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}

public void onFinish() {
mTextField.setText("done!");
}
}.start();

lg Voss - Ach ja und noch was, die AndroidPIT-Regeln ლ(╹◡╹ლ) Android Security

22.02.2012 11:12:01 via Website

Wie ist es denn wenn man den CountDownTimer mit Button Click startet und wärent der CountdownTimer runter läuft denn Button zwar anzeigen will aber nicht clickbar sein soll?

Jedem das Seine, doch Mir das Meine

23.02.2012 08:23:24 via Website

Jörg V.
Du musst der mTextField.setText() schon auch die Chance zu geben, etwas zu haben das es setzen kann!

setText bedient eine benannte TextView mit Namen:mTextField die Du aber nicht hast ...

So gehts dann zum Beispiel ...

new CountDownTimer(30000, 1000) {
TextView mTextField = (TextView) findViewById(R.id.zeile2); // zeile2 bezeichnet hier eine im main.xml abenannte TextView
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}

public void onFinish() {
mTextField.setText("done!");
}
}.start();

Kann mir vieleicht noch jeamnd verraten wie ich den CountdownTimer mit einer ProgressBar verbinden Kann :-)
gruß Alex

Jedem das Seine, doch Mir das Meine