Wie kann EditText Länge auf 7 ganze Zahlen und 2 Dezimalstellen begrenzt werden?

8

Ich habe eine EditText Box, die es dem Benutzer erlauben soll, bis zu 7 Zahlen und zwei Dezimalstellen einzugeben. Nach der Eingabe von sieben Ziffern sollte es nicht möglich sein, eine weitere Ziffer hinzuzufügen, aber ich kann bis zu zwei Dezimalstellen zulassen. Ich verwende einen Dezimalfilter für 2 Dezimalstellen und diesen Code in XML

%Vor%

Aber EditText erlaubt enter 8 Ziffern. Wie kann das gelöst werden?

    
aravind 02.07.2013, 10:42
quelle

7 Antworten

18

Versuchen Sie dies unter onCreate

%Vor%

Dies überall in Ihrem Programm

%Vor%     
user1545654 29.04.2014 10:09
quelle
4
%Vor%     
Ravin 15.02.2014 18:55
quelle
2

Sie können diesen Eingabefilter verwenden, um Ihr Problem zu lösen. So stellen Sie den Filter ein:

%Vor%

Wenn Sie die Anzahl der Ziffern vor oder nach dem Punkt nicht begrenzen möchten setzen Sie einfach Integer.MAX_VALUE auf die maximale Wertegrenze deaktivieren verwenden Sie Double.POSITIVE_INFINITY .

Sie können diesen Filter für Textfelder verwenden, in denen Sie Zahlen oder Zahlen und Text eingeben.

%Vor%

Ich hoffe, es hilft dir.

    
Taras Smakula 15.08.2017 14:48
quelle
1
%Vor%     
John Britto 24.02.2017 07:17
quelle
1

Sie können diesen Eingabefilter verwenden, um Ihr Problem zu lösen. So stellen Sie den Filter ein: Für 4 Ziffern und zwei Dezimalstellen

%Vor%     
nitin khobragade 28.02.2018 05:13
quelle
0

Obwohl keine direkte Lösung, können Sie jedes Zeichen, das von IME zu EditText über TextWatcher

geht, steuern

Einer von SO Q & amp; A zur Verwendung von TextWatcher ist hier

Mehr über TextWatcher ist hier

Sie benötigen möglicherweise Hilfe von Regulärer Ausdruck für Gleitkommazahlen Präzision & amp; Muster-Matcher um Eingaben zu validieren.

    
Chandan 02.07.2013 10:58
quelle
0

Sie können es verbessern, wenn Sie eine Android-Datenbindung wie folgt verwenden:

Definieren Sie einen benutzerdefinierten Bindungsadapter:

%Vor%

Attribute zu EditText hinzufügen:

%Vor%

und es wird automatisch der Eingabefilter für den Editiertext

gesetzt     
Mat 22.11.2017 13:20
quelle