Administrator
2021-11-03 de74e5ec3fbdab065e8b91240fa1944c4b3440c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.duqing.missions.ui.main.hall;
 
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager2.widget.ViewPager2;
 
import com.duqing.missions.base.BaseFragment;
import com.duqing.missions.base.FragmentAdapter;
import com.duqing.missions.databinding.FragmentHallBinding;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
 
public class HallFragment extends BaseFragment<FragmentHallBinding> {
 
    private HallViewModel hallViewModel;
 
    @Override
    public void initViews() {
        hallViewModel = new ViewModelProvider(this).get(HallViewModel.class);
        hallViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
            @Override
            public void onChanged(@Nullable String s) {
            }
        });
        final String[] titles = new String[]{"全部","人气","简单","高价"};
        final FragmentAdapter fragmentAdapter = new FragmentAdapter(activity);
        fragmentAdapter.addFragment(new SubHallFragment());
        fragmentAdapter.addFragment(new SubHallFragment());
        fragmentAdapter.addFragment(new SubHallFragment());
        fragmentAdapter.addFragment(new SubHallFragment());
        //设置当前可见Item左右可见page数,次范围内不会被销毁
        //禁用预加载
        binding.viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT);
        binding.viewPager2.setAdapter(fragmentAdapter);
        binding.viewPager2.setCurrentItem(0);
        binding.viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动
        TabLayoutMediator mediator = new TabLayoutMediator(binding.tablayout, binding.viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
            @Override
            public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
                tab.setText(titles[position]);
            }
        });
        mediator.attach();
 
 
    }
}