0

だから私はボタンの色を設定しようとします。それは次のようなものです:

    if (D) {Log.d(TAG, "color =" + bytes);};
                    int c = Color.argb(bytes[4], bytes[3], bytes[2],  bytes[1]);
                    btnStart.setBackgroundColor(c);
                    if (D) {Log.d(TAG, "color " + bytes[4]+ bytes[3]+bytes[2]+ bytes[1]);};
                    break;

LogCat に次の出力が表示されます。-1ではなく、配列に他の値が表示されることを期待しています...

ここに完全なコードがあります

    mainHandler=new Handler(){
        public void handleMessage(Message msg) {    
            switch (msg.what){
            case TOAST:
                Bundle bundle = msg.getData();
                String string = bundle.getString("myKey");
                Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
                break;
            case NEW_SMS:
                if (D) {Log.d(TAG, "newSms recieved");}
                byte[] bytes =(byte[]) msg.obj;
                switch (bytes[0]){
                case SMS_TEXT:
                    bytes = shiftArrayToLeft(bytes);
                    String readMessage = new String(bytes, 0, msg.arg1);
                    txtView.setText(readMessage);
                    break;
                case SMS_COLOR:
                    if (D) {Log.d(TAG, "color =" + bytes);};
                    //LinearLayout lLayout = (LinearLayout) findViewById(R.id.lLayout);
                    int c = Color.argb(bytes[4], bytes[3], bytes[2],  bytes[1]);
                    btnStart.setBackgroundColor(c);
                    if (D) {Log.d(TAG, "color " + bytes[4]+ bytes[3]+bytes[2]+ bytes[1]);};
                    break;
                }

            }
    }};

これは、Bluetooth メッセージを処理するハンドラです

4

1 に答える 1