0

我有这个代码:

final byte[] bslval = data1.getByteArray(HRPService.BSL_VALUE);

runOnUiThread(new Runnable() 
{
    public void run() 
    {
        if (bslval != null) 
        {
            try 
            {
                Log.i(TAG, "BYTE BSL VAL =" + bslval[0]);
                //TextView bsltv = (TextView) findViewById(R.id.BodySensorLocation);
                EditText bsltv = (EditText) findViewById(R.id.EditSensorLocation);
                String bslstr = new String(bslval, "UTF-8");
                bsltv.setText(bslstr);                                
            } 
            catch (Exception e) 
            {
                Log.e(TAG, e.toString());
            }

EditText 确实将值显示为“d”,但不显示为“64”(我想要的)。如何将其转换为小数?

4

2 回答 2

2

像这样的东西:

String bslstr = String.valueOf(bslval[0] & 0xff);

这假定,该值实际上在bslval[0]. 可以为和& 0xff之间的字节值获得积极的结果。(byte)0x80(byte)0xff

于 2013-08-20T15:23:07.747 回答
0

如果您只想将第一个字节值设置bslval[0]为文本,请使用更简单的字符串连接。

bsltv.setText(bslval[0] + "");
于 2013-08-20T15:36:51.023 回答