MainActivity向子Fragment传值

使用场景:TabLayout+ViewPager     实现一个Activity包含多个Fragment的情况,例如微博那种效果

举例:主Activity为MainActivity,子Fragment为AFragment,BFragment,CFragment,需要MainActivity给三个Fragment传值,这里假设传值String string = "123456";

第一步:

//全局变量
String string = "123456"
private List mTabTitle = new ArrayList<>();
private List mViewPager = new ArrayList<>();

//添加子Fragment
private void initData(){
     mTabTitle.add("AFragment"); 
     mTabTitle.add("BFragment"); 
     mTabTitle.add("CFragment"); 
     mViewPager.add(new AFragment(string));
     mViewPager.add(new BFragment(string)); 
     mViewPager.add(new CFragment(string));
}

第二步:

只需要在对应的Fragment中,添加"注解"值就传过来了

//添加注解
@SuppressLint("ValidFragment")
public class AFragment{

        //添加注解
        @SuppressLint("ValidFragment")
        public AFragment(String string) {
                //此时的string就是我们传过来的值 123456
               Log.d("TAG",string);

        }

        //特别注意,千万不可忽略的一步,少了这个构造方法会报错
         public AFragment() {

         // Required empty public constructor

         }

}

文章可能写的简单粗暴些,再此只是作为笔记使用,有幸的话也能帮助一些刚接触Android小伙伴。

你可能感兴趣的:(android开发)