Text in EditText ändern durch Button

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

28.09.2012, 14:06:32 via Website

Hallo. Ich suche eine Möglichkeit den Wert aus meinem EditText per Klick auszulesen, zu verwerten und wieder einzufügen, so dass anschließend der neue Wert im EditText angezeigt wird. Ich möchte einen EditText realisieren, bei dem ich die Werte mit Hilfe eines Buttons inkrementieren bzw. dekrementieren kann. Zusätzlich soll die Möglichkeit bestehen, dass ich den EditText von Hand bearbeiten kann.

Das Auslesen funktioniert soweit ganz gut. Beim Zuweisen des neuen Wertes wird zwar die setText() Methode aufgerufen, jedoch tut sich genau nichts. Könnt ihr mir sagen wo ich den Fehler habe?

Ich rufe aus meiner Activity eine static Methode auf und übergebe als Parameter den Context ( this ). Anschließend wird ein Dialog erstellt. Hier der Code.

1ublic static void setFuelPrice(Context context) {
2 final Dialog dialog = new Dialog(context);
3 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
4 dialog.setContentView(R.layout.price_dialog);
5 int countEuros = 0;
6
7
8 /*
9 * Buttons
10 */
11 Button btnConfirm = (Button) dialog.findViewById(R.id.btn_price_confirm);
12 Button btnCancel = (Button) dialog.findViewById(R.id.btn_price_cancel);
13 Button btnIncrEuro = (Button) dialog.findViewById(R.id.btn_plus_price_10000);
14 Button btnDecrEuro = (Button) dialog.findViewById(R.id.btn_plus_price_10000);
15
16
17
18
19
20 /*
21 * Counter Euros EditText's
22 */
23
24 final EditText edCountEuros = (EditText) dialog.findViewById(R.id.txt_price_dialog_10000);
25 edCountEuros.setText("" + countEuros);
26
27 /*
28 * ButtonListener
29 */
30 btnIncrEuro.setOnClickListener(new OnClickListener() {
31 Integer tmpEuros = Integer.parseInt(edCountEuros.getText().toString());
32
33 @Override
34 public void onClick(View v) {
35 tmpEuros++;
36 edCountEuros.setText("1");
37 }
38 });
39 dialog.show();
40 }

Kann ich irgend so etwas wie eine "refresh" aufrufen, so dass die Anzeige meines EditTexts aktualisiert wird?

Gruß

— geändert am 28.09.2012, 14:07:48

Antworten
Florian B.
  • Forum-Beiträge: 284

28.09.2012, 17:44:33 via Website

Hier sollte der Fehler liegen. Du setzt den Inhalt des Feldes immer auf "1".

1edCountEuros.setText("1");

Sollte wohl eher so aussschauen:

1btnIncrEuro.setOnClickListener(new OnClickListener() {
2 @Override
3 public void onClick(View v) {
4 int tmpEuros = Integer.parseInt(edCountEuros.getText().toString()).intValue();
5 tmpEuros++;
6 edCountEuros.setText(tmpEuros);
7 }
8});

Antworten