Ruft den Ganzzahlwert aus der dimens.xml-Ressourcendatei in Android ab

8

Ich habe einen EditText , der dezimal ist, und ich lege seine Länge mit android: maxLength -Eigenschaft in xml:

fest %Vor%

Da seine Länge nicht nur in der UI-XML-Datei, sondern auch in einer Java-Klasse und vielleicht an anderen Stellen verwendet wird, möchte ich Probleme vermeiden, wenn ich diesen Wert in Zukunft aktualisiere, daher möchte ich die Länge angeben zentralisiert in der dimens.xml-Ressourcendatei wie folgt:

dimensions.xml

%Vor%

Von einer Java-Klasse muss ich diesen Wert lesen, also führe ich aus:

%Vor%

aber ich kann feststellen, dass es keine Methode getInt () gibt, nur getFloat ():

%Vor%

so wie ich es als Integer bekommen muss .... wie geht das? Natürlich, vielleicht kann ich es mit getFloat () und dann Casting zu Integer .... aber ich weiß nicht, ob es eine elegante Art ist, es zu tun ... also irgendwelche Ideen?

UPDATE: Ooopssss Ich habe einen Fehler gemacht. Es ist:     int menge = typedValue.getFloat ();

anstelle von:

%Vor%     
user1624552 05.01.2015, 14:56
quelle

5 Antworten

27

Warum speichern Sie die Ganzzahl nicht in res / integers.xml

%Vor%

Und um auf die Werte im Code zuzugreifen

%Vor%

Oder in XML

%Vor%     
Marko 05.01.2015, 14:58
quelle
1

Sie brauchen kein TypedValue verwenden Sie das folgende

(int) this.getResources().getDimension(R.integer.quantity_length) ;

    
akash93 05.01.2015 15:00
quelle
1

Warum verwenden Sie dieses Beispiel nicht?

XML

%Vor%

JAVA

%Vor%     
Anthone 05.01.2015 15:04
quelle
1
%Vor%     
Basbous 05.01.2015 15:13
quelle
0

Verwenden:

%Vor%     
Shalva Avanashvili 05.01.2015 14:58
quelle

Tags und Links