有没有解决此设置的ViewPager错误的方法?

ajsxfq5m  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(486)

我从昨晚开始就一直在解决这个问题,我使用了viewpager2,因为androidstudio中原来的viewpager不见了。我不知道是什么导致了这个错误,你们能帮我吗?

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

        firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
        myRef = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());

        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                Users users = snapshot.getValue(Users.class);

            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {

            }
        });
        //TabLayout and viewpager
        TableLayout tabLayout = findViewById(R.id.tabLayout);
        ViewPager viewPager = findViewById(R.id.view_pager);

        ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());

        viewPagerAdapter.addFragment(new ChatFragment(), "chats" );
        viewPagerAdapter.addFragment(new UsersFragment(), "Users" );

        viewPager.setAdapter(viewPagerAdapter);

        tabLayout.setupWithViewPager(viewPager);

    }```
0mkxixxg

0mkxixxg1#

从重构tablayout接口:
最后,必须更新将tablayout对象附加到viewpager对象的代码。虽然tablayout使用自己的setupwithviewpager()方法与viewpager集成,但它需要一个tablayoutmediator示例与viewpager2集成。
要使用viewpager2,不能使用 setupWithViewPager 方法,必须改用tablayoutmeditor。

// TODO: Comment-out or remove this line
// tabLayout.setupWithViewPager(viewPager);

new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
    @Override
    public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
        String tabTitle = "";
        if (position == 0) {
            tabTitle = "chats";
        } else if (position == 1) {
            tabTitle = "Users";
        }
        tab.setText(tabTitle);
    }
}).attach();

相关问题