實(shí)現(xiàn)fragment往Activity傳值
接口回調(diào)是指:可以把使用某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量统扳,那么該接口變量就可以調(diào)用被類實(shí)現(xiàn)的接口的方法。實(shí)際上重付,當(dāng)接口變量調(diào)用被類實(shí)現(xiàn)的接口中的方法時(shí)填硕,就是通知相應(yīng)的對象調(diào)用接口的方法柜裸,這一過程稱為對象功能的接口回調(diào)擂错。
1味滞、在需要傳遞數(shù)據(jù)的一端定義一個(gè)接口,接口里面些需要監(jiān)聽的方法以及參數(shù)钮呀。
2剑鞍、定義一個(gè)的接口類型的變量存儲(chǔ)數(shù)據(jù)。
3爽醋、創(chuàng)建一個(gè)公共的方法蚁署,讓外部調(diào)用,并且傳遞接口類型的參數(shù)蚂四,給其定義的接口類型的數(shù)據(jù)初始化光戈。
1.自定義接口
public interface RemDataListener {
void remData(List<String> list);
}
2.Activity實(shí)現(xiàn)接口 并實(shí)現(xiàn)接口中的方法
//需要數(shù)據(jù)的地方哪痰,實(shí)現(xiàn)接口 并實(shí)現(xiàn)接口中的方法
public class MainActivity extends AppCompatActivity implements RemDataListener {
@Override
public void remData(List<String> list) {
Log.e("======",list.toString());
}
}
2.在Fragment中onAttach 方法中得到activity中實(shí)現(xiàn)好的 實(shí)例化接口對象
RemDataListener listener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
listener=((MainActivity)getActivity());
}
@Override
public void onClick(View view) {
//item的點(diǎn)擊事件
List<String> strings = adapter.removeData();
//數(shù)據(jù)產(chǎn)生的地方調(diào)用接口
listener.remData(strings);
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者