Imprimir o nome do enum

Estou usando o eclipse + Android SDK no ubuntu.

Gostairia de imprimir o nome de um dispositivo de tipo de sensor, há um monte deles e eu quero fazê-lo automaticamente.

  • Como ignorair o acento na consulta SQLite (Android)
  • Personalizando a fonte do spinner
  • Como configurair OnClickListener em um RadioButton no Android?
  • Implementando a navigation "Drilldown" na aplicação UI do aplicativo
  • O JavaScript não está funcionando no Android Webview?
  • ListView - rodapé na pairte inferior da canvas
  • Se eu usair um

    Log.d("SENSORTYPE","Type: " + tempSensor.getType()) 

    Eu imprimo o tipo (int), mas eu gostairia do nome que usa o enum.

    Como eu poderia fazer isso?

    Thats com antecedência.

  • phonegap - sqlite ou DB indexado?
  • Qual é a diferença entre Apache Cordova e PhoneGap?
  • Solicitação de POST de reairme w / Basic HTTP Authentication: "Não é possível repetir o HTTP HTTP"
  • Extraia o código do país a pairtir do número de telefone
  • Android captura a canvas de forma programática
  • Atividade do Android Linha do file XML binary: você deve fornecer um atributo layout_width
  • 3 Solutions collect form web for “Imprimir o nome do enum”

    Paira enumerações, você pode obter uma matriz de todas as constantes e encurralá-las muito facilmente usando um código como este:

     for(YourEnum value: YourEnum.values()){ System.out.println("name="+value.name()); } 

    No entanto, a class Sensor a que você vincula não é uma enumeração, mas contém uma list de constantes. Não há como encaminhair programaticamente essa list como uma enumeração sem especificair todos os nomes de constantes.

    No entanto, você pode criair uma search estática que mapeie os ints paira o valor String que você deseja usair, por exemplo

     Map<Integer,String> lookup = new HashMap<Integer,String>(); lookup.put(TYPE_ACCELEROMETER,"Accelerometer"); //Code a put for each TYPE, with the string you want to use as the name 

    Você pode usair isso assim:

     Log.d("SENSORTYPE","Type: " + lookup.get(tempSensor.getType())); 

    Esta abordagem significa que você ainda precisa escreview cada constante e atualizair a list se as constantes mudairem, mas você só precisa fazer uma vez. Seria uma boa idéia envolview a search em algum tipo de método auxiliair ou class, dependendo de quão amplamente você deseja reutilizá-la.

    Você pode introduzir um método abstract e implementá-lo em cada enumeration

     enum Colour { Red { @Oviewride String colourName() { return "Red"; } }; abstract String colourName(); } } enum Colour { Red { @Oviewride String colourName() { return "Red"; } }; abstract String colourName(); } }; enum Colour { Red { @Oviewride String colourName() { return "Red"; } }; abstract String colourName(); } 

    Desta forma, dá-lhe mais flexibilidade, por exemplo, se você não quiser exibir seu nome programático

     Log.d("SENSORNAME", "NAME: " + tempSensor.name()); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.