1. 程式人生 > >兩個Activity之間用介面回撥進行通訊

兩個Activity之間用介面回撥進行通訊

因為剛接觸的一個專案是藍芽連線,需求是要在掃描介面點選條目進行連線  
時,在跳轉的另一個activity(姑且先叫它連線介面吧)上顯示連線的過程,  
也就是彈出一個dialog,所以就需要用介面回撥的方式實現它.但是我之前  
寫介面回撥沒有在兩個activity之間進行過介面回撥,所以就自己想了下寫  
了下面一段程式碼.

先定義一個介面:

public interface ConnectionStateListener {
    void onConnecting();
    void onConnected();
    void onDisConnected();
}

在定義一個介面管理類:

public class ConnectionStateListenerManager {
    private ConnectionStateListener mListener;

    private ConnectionStateListenerManager() {
    }

    private static final ConnectionStateListenerManager manager = new ConnectionStateListenerManager();

    public static ConnectionStateListenerManager getInstance
() { return manager; } public void setConnectionStateListener(ConnectionStateListener mListener) { this.mListener = mListener; } public void connected() { if (mListener != null) { mListener.onConnected(); } } public void connecting
(){ if (mListener!=null){ mListener.onConnecting(); } } public void disconnected(){ if (mListener != null){ mListener.onDisConnected(); } } }

注意上面的介面管理類必須用單例模式,否則會空指標異常.
最後在掃描介面得到管理類物件,並呼叫其中的方法,在連線介面呼叫setConnectionStateListener()方法,並實現介面中的方法,這就可以了.

本人菜鳥一個,歡迎大家指正.謝謝!