2014-10-07 9 views
0

У меня есть вопрос о обработчике a Message. Кто-нибудь знает, как получить данные из сообщения? В настоящее время у меня есть метод, называемый handleMessageОбращение к сообщению

@Override 
public void handleMessage(Message message) { 

Bundle bundle = message.getData(); 
String text = message.obtain().toString(); 

Если я запускаю режим отладки, сообщение содержит: enter image description here

Я хотел бы получить объект (что означает «www.google.com») и Поместите его как строку. Кто-нибудь знает, как это получить? Я пробовал с message.obtain.toString, это не получается.

Благодаря

+1

Попробуйте с 'message.getData() получить ("текст");.' Или 'message.toString (), если какой-либо из них работает. –

+0

ваше сообщение.obj - это объект «Result», поэтому вы должны направить его на 'Result' и получить доступ к полю' text' – pskink

ответ

1

Message.obtain() возвращает пустое сообщение из пула. То, что вы ищете, находится в obj.

String text = (String) message.obj; 

message.obj является Object, поэтому он должен быть отлит в взысканный тип

+0

Это почти правильно :) – eng

0

Установите данные в Message.obj первого, то вы можете получить от OBJ.

-1

Чтобы установить данные в сообщении

 Message msg = new Message(); 
     msg.obj = "do"; 
     msg.what = 1; 
     handler.sendMessage(msg); 

Для извлечения данных из сообщения

Handler handler = new Handler(new Handler.Callback() { 
    @Override 
    public boolean handleMessage(Message message) { 
     if(message.what == 1){ 
      String value = (String) message.obj; 
      } 
     } 
     return false; 
    } 
}); 
+0

Почему downvote ?? – Prachi

Смежные вопросы