Den Namen der Enumeration drucken

7

Ich benutze Eclipse + Android SDK auf ubuntu.

Ich möchte den Namen eines Gerätes vom Sensortyp ausdrucken, dort eine VIELE und ich möchte es automatisch machen.

Wenn ich ein

benutze %Vor%

Ich drucke den Typ (int), aber ich möchte den Namen, der die enum verwenden.

Wie könnte ich das tun?

Thants im Voraus.

    
vgonisanz 10.01.2012, 10:28
quelle

3 Antworten

13

Bei Aufzählungen können Sie ein Array aller Konstanten erhalten und diese sehr einfach mit einem Code wie diesem durchlaufen:

%Vor%

Allerdings ist die Sensor -Klasse, auf die Sie verlinken, keine Aufzählung, sondern enthält eine Liste der Konstanten. Es gibt keine Möglichkeit, diese Liste wie eine Aufzählung programmatisch zu durchlaufen, ohne alle Konstantennamen anzugeben.

Sie können jedoch eine statische Suche erstellen, die die Ints dem zu verwendenden Zeichenfolgenwert zuordnet, z. B.

%Vor%

Sie können das folgendermaßen verwenden:

%Vor%

Dieser Ansatz bedeutet, dass Sie immer noch jede Konstante ausschreiben und die Liste aktualisieren müssen, wenn sich die Konstanten ändern, aber Sie müssen es nur einmal tun. Es wäre eine gute Idee, die Suche in eine Art Hilfsmethode oder -klasse zu verpacken, je nachdem, wie weit Sie sie wiederverwenden möchten.

    
chrisbunney 10.01.2012, 10:40
quelle
4

Sie können eine abstract -Methode einführen und sie in jedem enumeration

implementieren %Vor%

Auf diese Weise erhalten Sie mehr Flexibilität, z. B. wenn Sie den programmatischen Namen

nicht anzeigen möchten     
Sleiman Jneidi 10.01.2012 10:49
quelle
3
%Vor%     
jeet 10.01.2012 10:34
quelle