我四处寻找Google和堆栈溢出问题,以找到解决方案,但是我似乎无法理解为什么我无法使它正常工作,我会遵循我所看到的一切。 我的问题是,每当我触摸选项卡时,它都不会更改为我选择的选项卡。看着我正在按照[这篇Stackoverflow帖子] [1]的指示进行操作,请注意,这些选项卡在完美滑动时会起作用
这是tabview的XML。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="scrollable"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" />
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tabs"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
我在主要活动中也添加了此内容。 (容器用于我的回收者视图)
TabLayout tabLayout = findViewById(R.id.tabs);
viewPager = findViewById(R.id.container);
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
在我的主要活动中,我也有使用此方法创建选项卡。 (本文中编辑的标签名和片段名)
private void setupViewPager(ViewPager viewPager) {
SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
adapter.addFragment(new 1_Fragment(),"tab1");
adapter.addFragment(new 2_Fragment(),"tab2");
adapter.addFragment(new 3_Fragment(),"tab3");
adapter.addFragment(new 4_Fragment(),"tab4");
adapter.addFragment(new 5_Fragment(),"tab5");
adapter.addFragment(new 6_Fragment(),"tab6");
adapter.addFragment(new 7_Fragment(),"tab7");
viewPager.setAdapter(adapter);
}
在主要活动中,我也有这个功能,但单击似乎不起作用。尽管我用Log.d检查过,但刷卡后仍然可以使用。
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
Log.d("Tab", String.valueOf(tab.getPosition()));
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
答案 0 :(得分:0)
在父级或CoordinatorLayout中使用相对布局,如下代码。
x<-c(1,2,3,4,5,6,6,7,8,9,10,11,12)
qplot(x,geom='histogram',fill=I("red"), col=I("darkred"),xlab="Maand",ylab="Hoeveelheid",bins=12)
答案 1 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tabs"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="scrollable"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" />
</android.support.design.widget.CoordinatorLayout>
将TabLayout
移至ViewPager
的底部