2013-08-27 53 views
0

這是C#枚舉,我想將它轉換爲具有相同字節類型的java。請幫助我。具有字節值的Android枚舉

public enum DataType { UNKNOWN       = 0xFF, 
           DATAUNAILABLE      = 0x00, 
           NORMALBEAT      = 0x01, 
           VFLUTTER       = 0x02, 
           VFIB        = 0x03, 
           VTACHY       = 0x04, 
           ASYTOLE       = 0x05, 
           PAUSE        = 0x06, 
          }; 

回答

4

下面是Android示例:

package com.example.enumtest; 

import android.os.Bundle; 
import android.app.Activity; 

public class MainActivity extends Activity { 

    enum DataType { 
     UNKNOWN(0xff), 
     DATAUNAILABLE(0x00), 
     NORMALBEAT(0x01), 
     VFLUTTER(0x02), 
     VFIB(0x03), 
     VTACHY(0x04), 
     ASYTOLE(0x05), 
     PAUSE(0x06); 

     private final byte id; 

     DataType(int id) { 
      this.id = (byte) id; 
     } 

     public byte getId() { 
      return this.id; 
     } 
    } 

    private DataType type = DataType.PAUSE; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 
+0

什麼是這兩個值的輸出: – user2710860

+0

@ user2710860我已經更新了我的答案。 –

+0

此處顯示的錯誤:構造函數數據類型(int)未定義我嘗試使用DataType(byte id){this.id =(byte)id; }。但這也沒有奏效。我使用Android的這個代碼而不是java。 – user2710860

0

我回答這個職位比較晚,但它可以給其他人誰可能會遇到類似的問題非常有用。對於android,你需要定義一個數據類型爲Byte的成員變量,並調用一個構造函數,在參數列表中傳遞一個Byte。我是一名C++開發人員,也是Android編程的新手,這是我遇到的第一個語法問題。

public enum test{   
A1((byte) 0x00),  
A2((byte) 0x01),  
A3((byte) 0x02);  

private byte test;  

test(byte test) {  
    this.test = test; 
}      

}