怎么去第二个片段,当我从一些其他活动点击按钮TabLayout
问题描述:
我已经创建了ViewPayer的TabLayout这样怎么去第二个片段,当我从一些其他活动点击按钮TabLayout
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/layout"
layout="@layout/common_act" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:tabGravity="fill"
app:tabIndicatorHeight="4dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/colorAccent" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</LinearLayout>
然后,我创建了两个片段。
,以示对TabLayout 我已经创建了类似下面的代码为我TabLayout活动
public class ManageWorkShopActivity extends BaseActivity {
private ManageWorkShopActBinding mBinding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = DataBindingUtil.setContentView(this, R.layout.manage_work_shop_act);
mBinding.layout.title.setText("Manage Workshop");
setupViewPager(mBinding.viewpager);
mBinding.tabs.setupWithViewPager(mBinding.viewpager);
mBinding.layout.nav.setVisibility(View.VISIBLE);
mBinding.layout.nav.setOnClickListener(view -> onBackPressed());
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new ViewProfileFragment(), "Fragment1");
adapter.addFragment(new ViewPerformanceFragment(), "Fragment2");
viewPager.setAdapter(adapter);
}
}
然后,我创建了适配器像下面的代码。
然后如果我运行应用程序,那么它会显示Fragment1作为默认选择的屏幕。
在其他的方式我有一个按钮来浏览这个TabLayout活动,另外,如果我点击按钮后,我应该能够去Fragment2为选择屏幕。所以,请人建议的解决方案提前
感谢。
答
您可以使用viewpager.setCurrentItem(int index)
对于例如你有一个Button btnToNextFragment;
:
btnToNextFragment.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
yourViewPager.setCurrentItem(int indexOfYourFragment2)
}
});
答
只是寻呼机setCurrentItem当点击事件发生像下面
nxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPager.setCurrentItem(mPager.getCurrentItem() + 1);
}
});
使用viewPager.setCurrentItem(项目);更改当前选项卡 – Prasad
mBinding.tabs.getTabAt(1).select();这一个解决我的问题,当我从其他活动 – AngelJanniee
你想为一个时间或者每次应用程序打开的点击BUTTOM? –