Android 滑动选项卡不显示';我不工作,我不工作;我在屏幕上看不到
但是遇到了一个问题。当我运行应用程序时,我看不到我的屏幕在滑动,也看不到标签。你能帮忙吗 这是我的密码: 我在评论的行中得到一个错误。 以下是我的寻呼机适配器代码:Android 滑动选项卡不显示';我不工作,我不工作;我在屏幕上看不到,android,tabs,android-viewpager,swipe,Android,Tabs,Android Viewpager,Swipe,但是遇到了一个问题。当我运行应用程序时,我看不到我的屏幕在滑动,也看不到标签。你能帮忙吗 这是我的密码: 我在评论的行中得到一个错误。 以下是我的寻呼机适配器代码: public class ViewPagerAdapter extends FragmentPagerAdapter { ArrayList<Fragment> fragments= new ArrayList<>(); ArrayList<String> tabTitles
public class ViewPagerAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> fragments= new ArrayList<>();
ArrayList<String> tabTitles = new ArrayList<>();
public void addFragments(Home fragments, String titles){
this.fragments.add(fragments);
this.tabTitles.add(titles);
}
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return tabTitles.get(position);
}
}
public类ViewPagerAdapter扩展了FragmentPagerAdapter{
ArrayList片段=新的ArrayList();
ArrayList tabTitles=新的ArrayList();
公共void addFragments(主片段、字符串标题){
this.fragments.add(fragments);
this.tabTitles.add(titles);
}
公共ViewPagerAdapter(碎片管理器fm){
超级(fm);
}
@凌驾
公共片段getItem(int位置){
返回碎片。获取(位置);
}
@凌驾
public int getCount(){
返回fragments.size();
}
@凌驾
公共字符序列getPageTitle(int位置){
返回tabTitles.get(位置);
}
}
在我的XML中,我只有Viewpager、Toolbar和TableLayout。
请提供帮助。您需要在
addFragments
试试这个:
public void addFragments(Fragment fragments, String titles)
而不是
public void addFragments(Home fragments, String titles)
我希望这可能会对您有所帮助可能是这样的:
Home fragments
尝试将更改为:
Fragment fragments
方法如下:
public void addFragments(Fragment fragments, String titles){
this.fragments.add(fragments);
this.tabTitles.add(titles);
}
因此,在方法中,您有主片段
作为参数
,当您调用与主片段不同的其他片段时,因为参数
是主片段,您会得到错误,要修复,只需按照我说的将参数更改为片段片段
。这是个小错误。试试这个
在xml布局文件中
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:tabSelectedTextColor="@android:color/white"/>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
然后为寻呼机适配器创建一个类
public class TabPagerAdapter extends FragmentPagerAdapter {
public TabPagerAdapter(FragmentManager fm, int tabCount) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
FragmentA fragmentA = new FragmentA();
return fragmentFoods;
case 1:
FragmentDrinks fragmentA = new FragmentA();
return fragmentA;
default:
return null;
}
}
@Override
public int getCount() {
return 2;
}
}
你能添加问题的na图像吗?我看不出你的代码有任何错误,但使用na图像我可以更好地帮助你。请查看。嗯,好的,我正在寻找其他内容。我已经编辑了我的帖子,现在可以了,但我仍然看不到我的工具栏选项卡
tabLayout.addTab(tabLayout_ordering.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout_ordering.newTab().setText("Tab 2"));
viewPager.setAdapter(pagerAdapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout_ordering));
tabLayout_ordering.setOnTabSelectedListener(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) {
}
});
public class TabPagerAdapter extends FragmentPagerAdapter {
public TabPagerAdapter(FragmentManager fm, int tabCount) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
FragmentA fragmentA = new FragmentA();
return fragmentFoods;
case 1:
FragmentDrinks fragmentA = new FragmentA();
return fragmentA;
default:
return null;
}
}
@Override
public int getCount() {
return 2;
}
}