Fragment与Activity相互传递值

/**
* 情况1.fragment向activity传递值:
* 首先在fragment中写一个接口,fragment然后在需要传递值得地方调用接口里面的方法,在activity中实现这个接口并重写接口里面的方法
* 情况2.点击Activity中的按钮(在Activity布局中,与ViewPager同级),在当前显示Fragment中的执行某些操作
* 思路一:通过FragmentPagerAdapter.getItem()获取当前Fragment对象,调用执行Fragment中的public方法。
* 思路二:在Activity中定义一个接口,Fragment实现这一接口
*/
实例 通过点解RecyclerView的按钮,Activity作出相应改变
① RecyclerView的Adapter定义接口,调用接口
②Activity中实现接口

//在Activity中
gattDeviceAdapter.setViewAlphaItem(new MultiplayerGattDeviceAdapter.ViewAlpha() {
            @Override
            public void setConnectDeviceButtonAlpha(float alpha) {
                connectSelectedDevice.setAlpha(alpha);
            }
            public void setConnectDeviceButtonClickable(boolean flag){
                connectSelectedDevice.setClickable(flag);
            }
        });
//GattDeviceAdapter中
//    适配器中定义的接口,在活动中实现
    public interface ViewAlpha{
        void setConnectDeviceButtonAlpha(float alpha);
        void setConnectDeviceButtonClickable(boolean clickable);
    }
    public void setViewAlphaItem(ViewAlpha viewAlphaItem){
        this.viewAlphaItem=viewAlphaItem;
    }
    private ViewAlpha viewAlphaItem;

  



猜你喜欢

转载自www.cnblogs.com/sunupo/p/10420127.html