FrameLayout和频道管理+TabLayout

MainActivity布局文件

 
        

        

            

            

            
        


    

MainActivity代码:

public class MainActivity extends AppCompatActivity {

    private FragmentManager manager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        manager = getSupportFragmentManager();
        final FragmentTransaction transaction = manager.beginTransaction();
        final Frag01 frag01 = new Frag01();
        final Frag02 frag02 = new Frag02();
        final Frag03 frag03 = new Frag03();
        transaction.add(R.id.main_frag,frag01,"frag01")
                    .add(R.id.main_frag,frag02)
                    .add(R.id.main_frag,frag03);

        transaction.show(frag01).hide(frag02).hide(frag03);
        transaction.commit();

        RadioGroup radioGroup =findViewById(R.id.main_radio);
        radioGroup.check(radioGroup.getChildAt(0).getId());
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                FragmentTransaction transaction2 = manager.beginTransaction();
                switch (checkedId){
                    case R.id.radioButton:
                        transaction2.show(frag01).hide(frag02).hide(frag03).commit();
                        break;
                    case R.id.radioButton2:
                        transaction2.show(frag02).hide(frag01).hide(frag03).commit();
                        break;
                    case R.id.radioButton3:
                        transaction2.show(frag03).hide(frag02).hide(frag01).commit();
                        break;
                }
            }
        });

    }

//重点
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Fragment fragment_01result = manager.findFragmentByTag("frag01");
        fragment_01result.onActivityResult(requestCode,requestCode,data);


    }
}

Fragmnet1的布局文件:


         
         

Fragmnet1的布代码:

public class Frag01 extends Fragment {

    private View view;
    private Button button;
    private TabLayout tabLayout;
    private ViewPager viewPager;
    MypullAdapter adapter;
    ArrayList channelBeansList = new ArrayList<>();
    ArrayList fragmentArrayList = new ArrayList<>();


    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.frag01,container,false);

        initview();
        initdata();


        return view;
    }

    private void initdata() {
        //添加数据
        channelBeansList.add(new ChannelBean("关注",true));
        channelBeansList.add(new ChannelBean("推荐",true));
        channelBeansList.add(new ChannelBean("热点",true));
        channelBeansList.add(new ChannelBean("十九大",false));
        channelBeansList.add(new ChannelBean("科技",false));
        channelBeansList.add(new ChannelBean("视频",false));
        channelBeansList.add(new ChannelBean("音乐 ",false));

        for (int i = 0; i >(){}.getType();

        channelBeansList = gson.fromJson(extra,type);
        tabLayout.removeAllTabs(); // 清空tab
        fragmentArrayList.clear(); // 清空Fragment
        //重新添加tab和Fragment;
        for (int i = 0; i 

你可能感兴趣的:(FrameLayout和频道管理+TabLayout)