EditText zur Laufzeit ein editable zuweisen

  • Antworten:5
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 602

09.05.2020, 19:35:54 via Website

Hallo zusammen

Zur Laufzeit lege ich eine EditText an. Für die Eingabe möchte ich nur Zahlen zulassen.

edt_neu = new EditText(Main.this);
            Editable.Factory editable = new Editable.Factory();
            edt_neu.setEditableFactory(editable);

Bin ich da auf dem richtigen Weg? Wie kriege ich mein Tastaturlayout in die Factory.

Gruss Renato

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.527

10.05.2020, 21:43:35 via Website

OK
Aber ich habe dir doch die java Methode genannt. Brauchst du doch nur auf deine neue Variable anwenden.
Ob du da in einem Dialog bist ist doch egal. Nach dem Erstellen setzt du die Eigenschaft.

— geändert am 10.05.2020, 21:45:42

Hilfreich?
Robbiani Renato
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.05.2020, 20:08:43 via Website

Hallo Renato,

ich glaube über den InputType und die zugelassenen Ziffern kommst du besser ans Ziel:
https://stackoverflow.com/a/9334417/4975457, schau dir auch die anderen Antworten an, wenn du das im XML machen willst und nicht über den Code

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokel
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

09.05.2020, 20:13:21 via Website

Hallo das kannst du doch schon im Layout ereichen durch.

android:inputType="number"

In Java : setInputType(int type)

Doch wider von Kotlin zu Java Umgestiegen. :)

PS. @Pascal du warst schneller:)

— geändert am 09.05.2020, 20:15:30

Hilfreich?
Pascal P.
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

10.05.2020, 21:04:58 via Website

Ciao Jokel

Danke für eure Hilfe. Aber ich verwende die EditText in einem Dialog.

               edt_neu = new EditText(Main.this);
            edt_neu.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);
            dlg_eingabe = new AlertDialog.Builder(Main.this);
            dlg_eingabe.setTitle(getResources().getString(R.string.lbl_lang));
            dlg_eingabe.setMessage(getResources().getString(R.string.lbl_in));
            dlg_eingabe.setView(edt_neu);
            dlg_eingabe.setPositiveButton(getResources().getString(R.string.lbl_speichern), LpositivListener);
            dlg_eingabe.setNegativeButton(getResources().getString(R.string.lbl_verlassen), negaitvListener);
            dlg_eingabe.show();

Es hat mir trotzdem weiter geholfen

Keine Angst. Ich bleibe Kotlin treu. Es hat zu viele geniale Sachen dabei. Aber die alten Projekte stelle ich nicht auf Kotlin um. Die sind zu umfangreich.

Gruss Renato

Hilfreich?
Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.527

10.05.2020, 21:43:35 via Website

OK
Aber ich habe dir doch die java Methode genannt. Brauchst du doch nur auf deine neue Variable anwenden.
Ob du da in einem Dialog bist ist doch egal. Nach dem Erstellen setzt du die Eigenschaft.

— geändert am 10.05.2020, 21:45:42

Hilfreich?
Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

11.05.2020, 08:00:23 via Website

Ciao Jokel

Ja genau es hat mir recht viel geholfen. Danke für die Hilfe.

Gruss Renato

Hilfreich?
Kommentieren