介面回撥(傳遞資料)
阿新 • • 發佈:2018-12-15
背景:兩個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);
}
});
介面掉用的時候可以傳實際資料進來,介面實現的時候只能對引數進行處理