Получение странного искажения строки, возвращаемой handleMessage в классе, который расширяет Handler - PullRequest
0 голосов
/ 24 мая 2019

У меня есть класс Android, который расширяет обработчик и получает строку из потока Bluetooth.Где-то вдоль строки символы перезаписываются и строка расширяется.Вот пример строки:

День 1 @ 11:10: закрыто, открыто @ 2:00, закрыто @ android.widget.EditText {4bc3048 V.ED..CL......... 0,.

Вот код:

    @Override
    public void handleMessage (Message msg) {
        DeviceControlActivity activity = mActivity.get ();
        if (activity != null) {
            switch (msg.what) {
                case MESSAGE_STATE_CHANGE:
                    Utils.log ("MESSAGE_STATE_CHANGE:" + msg.arg1);
                    final ActionBar bar = activity.getActionBar ();
                    switch (msg.arg1) {
                        case DeviceConnector.STATE_CONNECTED:
                            if(bar.getSubtitle() != MSG_CONNECTED) {
                                activity.BeeSeekStop();
                            }
                            bar.setSubtitle (MSG_CONNECTED);
                            break;
                        case DeviceConnector.STATE_CONNECTING:
                            bar.setSubtitle (MSG_CONNECTING);
                            break;
                        case DeviceConnector.STATE_NONE:
                            if(bar.getSubtitle() == MSG_NOT_CONNECTED) {
                                activity.BeeSeekStart();
                            }
                            bar.setSubtitle (MSG_NOT_CONNECTED);
                            break;
                    }
                    activity.invalidateOptionsMenu ();
                    break;

                case MESSAGE_READ:
                    final String readMessage = (String) msg.obj;
                    ...
                    break;

Я бы ожидал увидеть:

День 1 @ 11:10:Закрыто, открыто @ 2:00, закрыто @ 3:00.

1 Ответ

0 голосов
/ 24 мая 2019

Я чувствую себя как android.widget.EditText {4bc3048 V.ED..CL......... 0 ,.на самом деле это идентификатор редактируемого текста, потому что вы можете пытаться получить такой текст: edittext.getText(), а не приводить его к строке.Вы должны сделать это следующим образом: edittext.getText (). ToString ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...