1. 程式人生 > >介面回撥(傳遞資料)

介面回撥(傳遞資料)

背景:兩個Fragment組成主介面,左邊的Fragment是個目錄、即列表,右邊的Fragment是詳細資訊面板,需要顯示左邊Fragment傳過來的資料;

實現:1.首先定義一個介面,如下

    public interface TransValue{
        public void trans(String string);
    }

2.左邊的Fragment是要傳遞資料的,於是需要準備資料並且呼叫介面的方法將資料傳出

    public static String value="lllllll";
    public static TransValue mTransValue;
    public static void setCallback(TransValue transValue){
        mTransValue=transValue;
        if(mTransValue!=null){
            mTransValue.trans(value);
        }
    }

3.右邊的Fragment接收資料,並且實際實現介面的方法,對資料進行實際操作

        value=findViewById(R.id.valuestring);
        SecondActivity.setCallback(new TransValue() {
            @Override
            public void trans(String string) {
                    value.setText(string);
            }
        });

介面掉用的時候可以傳實際資料進來,介面實現的時候只能對引數進行處理