安卓:利用接口在activity和fragment之间传递数据
应用场景:实现登陆界面,从LoginActivity传递数据到MainActivity
**发送方**
//在MainActivity定义接口
private OnDataChangeLister myDataChangeLister;//用变量接受小兵
//给小兵赋值
public void setOnDataChangeLister(OnDataChangeLister DataChangeLister){
myDataChangeLister = DataChangeLister;
}
//用来传递数据,activity为被观察者,fragment排除小兵观察activity
public interface OnDataChangeLister{
void onDataChange(String data);
}
//选择相应fragment,做出相应操作
case 3:
if(myDataChangeLister != null){
myDataChangeLister.onDataChange(account);
}
mBottomNavigationView.setSelectedItemId(R.id.menu_mine);
break;
接收方
//在fragment接收
((MainActivity)getActivity()).setOnDataChangeLister(new MainActivity.OnDataChangeLister() {
@Override
public void onDataChange(String data) {
if(!TextUtils.isEmpty(data)){
account = data;
//作出相应操作
accountTextView.setText(account);
}
}
});