본문 바로가기

:::::: STUDY ::::::/Android

[Android] Handler에서 lint warning 제거

[Android] Handler에서 lint warning 제거


---------------------

WeakRefHandler.java 

---------------------

public class WeakRefHandler extends Handler {

    public interface IOnHandleMessage {

        public void handleMessage(Message msg);

    }


    private WeakReference<IOnHandleMessage> mHandlerMsg;


    public WeakRefHandler(IOnHandleMessage act) {

        mHandlerMsg = new WeakReference<IOnHandleMessage>(act);

    }


    @Override

    public void handleMessage(Message msg) {

        super.handleMessage(msg);


        IOnHandleMessage activity = (IOnHandleMessage) mHandlerMsg.get();

        if (activity == null)

            return;


        activity.handleMessage(msg);

    }

}

---------------------

Main.java

---------------------

public class Main extends Activity implements WeakRefHandler.IOnHandleMessage {

....

    WeakRefHandler handler = new WeakRefHandler(this);

    Message msg = handler.obtainMessage();

    handler.sendMessage(msg);

.......

    @Override

    public void handleMessage(Message msg) {

        Log.e("TEST", "What the fuck");

    }

}