我试图从我用4个选项制作的复选框对话框中获取特定值。所以这四个值代表位,如果最后一个选项被选中而其余选项未选中则会产生0001,如果选择了第一个和最后一个,它将给出1001。
我实际上无法获得int值来表示BYTE值,这是我到目前为止所拥有的
public enum Material
{
FOLDABLE (1),
OVERMAXKG (2),
STORABLE (4),
AVAILABLE (8);
private byte val;
Material(int v)
{
this.val = (byte) v;
}
public byte getValue()
{
return val;
}
用于更改属性的材质对象类方法:
private byte materialProp;
public void adjustProperties(Matieral mat)
{
materialProp = (byte) (materialProp ^ mat.getValue());
}
这是警告对话框
AlertDialog matDialog;
final CharSequence[] properties = {
" Foldable ", " Exceeds 20KG ", " Storable ", " In Stock "};
final ArrayList propList = new ArrayList();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Material Properties");
我如何将这些值表示为BYTE格式,我可以得到的int值为?所以如果我选中复选框"超过20KG"然后点击OK按钮它将代表1001,然后它会给我BYTE值" 0100"