android - 如何在viewpager中的位置1设置选项卡

标签 android

我有两个标签。默认情况下选择 0 的位置选项卡,但我想在第一个位置选择选项卡。我试过

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
TabLayout.Tab tab = tabLayout.getTabAt(someIndex);
tab.select();

也有,但是没用。我还在 stackoverflow 上搜索并在位置 1 申请,但我的应用程序崩溃了。

    tabLayout = (TabLayout) findViewById(R.id.tab_layout);
            tabLayout.addTab(tabLayout.newTab().setText("Add Expense"));
            tabLayout.addTab(tabLayout.newTab().setText("Add Ledger"));

            final ViewPager viewPager = (ViewPager) findViewById(R.id.pager2);
            final TabAdapter adapter = new TabAdapter(getSupportFragmentManager(), tabLayout.getTabCount());

            viewPager.setAdapter(adapter);
            viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
  tabLayout.getTabAt(1).select();

//        }
        tabLayout.addOnTabSelectedListener (new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());

            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }

标签适配器:

class TabAdapter extends FragmentStatePagerAdapter {
    private int mNumOfTabs;

    TabAdapter(FragmentManager fm, int NumOfTabs) {
        super(fm);
        this.mNumOfTabs = NumOfTabs;
    }

    @Override
    public Fragment getItem(int position) {

        switch (position) {

            case 0:
                return new AddExpenseFragment();

            case 1:
                return new AddLedgerFragment();

        }
        return null;
    }

    @Override
    public int getCount() {
        return mNumOfTabs;
    }
}

最佳答案

尝试

viewPager.setCurrentItem(position);

关于android - 如何在viewpager中的位置1设置选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40525334/

相关文章:

具有离线 map 和数据库的 Android 应用程序

java - 区分配置更改和真正关闭,在 DialogFragment 的 onDimiss 回调中

android - 动画 ListView 中的特定行

android - 如何在 Android 上将持续时间格式化为具有本地化时间单位的字符串?

java - 在 Android 中对最终用户隐藏 JNI 代码

java - 这两种初始化静态变量的方式有什么区别?

java - Viewpager 中的 Font Awesome 上一个 下一个

javascript - Android 上 JavaScript 中的触摸事件

android - Android/iOS 上的 Base64 编码图像

java - 即使我声明了 Android 权限也不起作用