2014-02-12 1 views
1

У меня проблема с обработчиком. После создания я хочу отправить сообщение обработчику, но метод sendEmptyMessage() не может решить. Обработчик должен обновить адаптер пользовательского списка.Обработчик sendEmptyMessage() не может решить

Существует мой код:

private Handler mHandler; 

mHandler = new Handler() { 
     @Override 
     public void close() {} 

     @Override 
     public void flush() {} 

     @Override 
     public void publish(LogRecord record) {} 

     public void handleMessage(Message m) 
     { 
      catalogAdapter.notifyDataSetChanged(); 
     } 
    }; 
mHandler.sendEmptyMessage(0); 
+0

Что означает «не может решить»? В чем проблема? Есть ли проблемы при получении сообщения? – Massimo

+0

@Massimo, сообщение не отправляется, потому что метод не найден в классе Handler. – BoBaH6eToH

+1

Вы уверены, что вы импортировали класс android.os.Handler? Этот класс имеет метод sendEmptyMessage (int) – Massimo

ответ

9

java.util.logging.Handler неправильный класс для импорта. Вы хотите, чтобы убедиться, что вы импортируете android.os.Handler

+0

Да, вы правы. Спасибо. – BoBaH6eToH

-1

mHandler.sendEmptyMessage(0); неправильно, потому что нет никакого способа:

public void handleMessage(int m); 

Должно быть:

mHandler.sendEmptyMessage(null); 
+0

Не понимаю, почему вы говорите, что это неправильно: http://developer.android.com/reference/android/os/Handler.html#sendEmptyMessage%28int%29 с моей точки зрения sendEmptyMessage (null) приведет к ошибке компиляции. –

+0

Да, вы правы, это моя ошибка ... – Maxim

0

Я не понимаю, почему вы не может решить метод sendEmptyMessage. Возможно, у вас неправильный импорт, проверьте это.

На стороне записки, вам просто нужно отправить сообщение вам обработчик, как так:

new Handler(Looper.getMainLooper()).post(
new Runnable() { 
    @Override 
    public void run() { 
     catalogAdapter.notifyDataSetChanged(); 
    } 
}); 

или даже, возможно, создать фоновую тему.

Как Massimo указано, ваш импорт должен быть:

import android.os.Handler; 
+0

Да, ошибка в импорте. Спасибо. – BoBaH6eToH

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