# Buttontext aktualisieren



## SirBaros (6. Jun 2011)

Hallo,

ich moechte gerne bei dem Klick auf einem Button den Text des Buttons aendern (Von START in STOP und wieder von STOP in START).
Hab es versucht mit eiener Variable (buttontext) aber klappt nicht. Muss ja irgendwie den Button updaten.

[Java]

textView.setText(buttontext);

button.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {

                       if(start){
				buttontext = "STOP";
                                start=false;
                       }else{buttontext = "START";
                                start=true;}

			}
		});
[/Java]


----------



## MiDniGG (6. Jun 2011)

Ja, wie soll das auch gehen? Du setzt dem Button den Text, vermutlich im Konstruktor. Dieser wird EINMAL aufgerufen und das war's. Entweder Du machst einen Thread der alle paar millisekunden den Text vom Button mit setText schreibt, dann geht das mit der Variablenänderung.
Einfacher wäre es aber einfach die setText-Methode beim Klick aufzurufen... -.-


----------



## SirBaros (6. Jun 2011)

ja die hab ich schon ausprobiert funktioniert aber trotzdem nicht. Beim ersten mal klicken funktionierts. Aber beim zweiten mal nicht aendert er den text nicht mehr.

habs grad mit nem anderen Beispiel probiert siehe hier gings auch net. Nur beim ersten mal klicken

[Java]        ......
                textView_hour.setText(hour + "");
		textView_minute.setText(minute + "");

		button.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {

				hour = timePicker.getCurrentHour();
				minute = timePicker.getCurrentMinute();

				textView_hour.setText(hour + "");
				textView_minute.setText(minute + "");

			}
		});
[/Java]


----------



## Miness (6. Jun 2011)

Füge doch dem Button einfach einen ActionListener hinzu und update dort drin den Text des Buttons mit der setText-Methode.


```
final JButton button = new JButton("START");
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        if (button.getText().equals("START")) {
            button.setText("STOP");
        }
        else {
            button.setText("START");
        }
    }
});
```


----------



## MiDniGG (6. Jun 2011)

Achje Achje. Ich seh jetzt erst, dass es um Mobile Geräte geht. :-D

Also wohl JavaME?!

Dann wäre aber trotzdem interessant zu wissen, was "button" ist und was "textView"... Liegt dieses textView auf dem Button??? Oder wie?


----------



## SirBaros (6. Jun 2011)

ok es hat jetzt mit dem setOnClickListener geklappt. War ein anderer Fehler.

Aber wieso funktioniert das mit dem Code nicht.? Bei dem Code hier, liegen in einem Layout 2 TextViews und ein Button nebeneinander und wenn man den Button klick soll der Text des TextViews auf die aktuelle Uhrzeit gesetzt werden.

[Java]
 textView_hour.setText(hour + "");
        textView_minute.setText(minute + "");

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

                hour = timePicker.getCurrentHour();
                minute = timePicker.getCurrentMinute();

                textView_hour.setText(hour + "");
                textView_minute.setText(minute + "");

            }
        });[/Java]


----------



## MiDniGG (6. Jun 2011)

Was ist denn timePicker schon wieder? :-D Kommt da überhaupt das richtige/erwartete raus?
Kannst es ja mal mit dem System.out ausgeben... (Soweit ich weiß ging das doch, oder?!)

Ansonsten was steht denn nach dem "Klick" in diesen TextViews?

*Edith:* Aha. Jetzt merk ich erst, dass es nicht um JavaME, sondern um Android geht... Da hab ich leider keine Ahnung. Bin aber trotzdem auf das Ergebnis von timePicker.getHour()/Minute() gespannt.


----------

