安卓:利用接口在activity和fragment之间传递数据

安卓:利用接口在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);
                }
            }
        });

版权声明:本文为qq_46075216原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。