В предупреждении говорится, что обработчики должны быть статическими, иначе могут возникнуть утечки, но я не знаю, как сделать его статическим, добавление «статического» после «частного» тоже не работает.
private final WeakHandler<MainActivity> mGenericModelHandler = new WeakHandler<MainActivity>(this) {
@Override
public void handleMessage(Message msg, MainActivity thisActivity) {
try {
switch (msg.what) {
case ModelBase.BUSY_STATE_CHANGED_NOTIFICATION:
if ( mModel.error() != null ) {
mResultTextView.append("\n Task failed:\n" + mModel.error().getMessage() + "\n\n");
mResultScrollView.post(new Runnable() { public void run() { mResultScrollView.fullScroll(View.FOCUS_DOWN); } });
}
UpdateUI();
break;
case MESSAGE_NOTIFICATION:
String message = (String)msg.obj;
mResultTextView.append(message);
mResultScrollView.post(new Runnable() { public void run() { mResultScrollView.fullScroll(View.FOCUS_DOWN); } });
break;
default:
break;
}
} catch (Exception e) {
}
}
};




Возможный дубликат Этот класс Handler должен быть статическим, иначе могут возникнуть утечки: IncomingHandler