Simpler Countdown?!

  • Antworten:8
Kevin Fischer
  • Forum-Beiträge: 129

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:

Antworten
Kevin Fischer
  • Forum-Beiträge: 129

21.05.2010, 12:55:01 via App

Hat niemand eine Antwort? =(

Antworten
Kevin Fischer
  • Forum-Beiträge: 129

22.05.2010, 21:02:07 via App

niemand? =(

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

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

Antworten
Thor93
  • Forum-Beiträge: 487

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

Antworten
Thor93
  • Forum-Beiträge: 487

22.02.2012, 11:18:06 via Website

Könntest du das vieleicht etwas genauer beschreiben?

— geändert am 22.02.2012, 11:20:01

Jedem das Seine, doch Mir das Meine

Antworten
Thor93
  • Forum-Beiträge: 487

22.02.2012, 11:20:47 via Website

Ok habe es herrausgefunden

Jedem das Seine, doch Mir das Meine

Antworten
Thor93
  • Forum-Beiträge: 487

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

Antworten