【发布时间】:2018-07-17 06:51:59
【问题描述】:
我的Home 片段中有两个Tab,使用viewpager。当ActivityTwo 打开时,我调用我的Home 片段。在家庭片段中,我有一个FloatingButton,单击时我会转到Information Fragment.When button is clicked in Information Fragment 我来到Home Fragment,我需要打开第二个选项卡。如何实现这个?
这是设置 TabView 的代码
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v=inflater.inflate(R.layout.choose_tab, container, false);
//-----------------------------------------------------------------------------------
tabLayout=(TabLayout)v.findViewById(R.id.simpleTabLayout);
viewPager=(ViewPager)v.findViewById(R.id.simpleViewPager);
viewPager.setOffscreenPageLimit(2);
tabLayout.addTab(tabLayout.newTab().setText("One"));
tabLayout.addTab(tabLayout.newTab().setText("Two"));
PagerAdapter adapter=new PagerAdapter(getActivity().getSupportFragmentManager(),tabLayout.getTabCount());
//PagerAdapter adapter=new PagerAdapter(getChildFragmentManager(),tabLayout.getTabCount());
viewPager.setAdapter(adapter);
tabLayout.addOnTabSelectedListener(this);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
return v;
}
@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) {
viewPager.setCurrentItem(tab.getPosition());
}
这是替换Home片段的代码
freeTable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Confirmation.");
builder.setMessage("Are you sure to Free this Person?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
freeSinglePerson();
alertMsg.successMessage(infoTable,"Person Free Successfully.");
Home home=new Home();
tx = fm.beginTransaction();
tx.replace(R.id.frame,home);
vp.setCurrentItem(1);
tx.commitAllowingStateLoss();
}
});
当我的Home Fragment 被替换时,我想设置第二个选项卡。如何实现?
【问题讨论】:
-
你试过这个 tabLayout.getTabAt(yourTabIndex).select();
-
如何在那个 Fagment 中得到那个 TabLayout ?
-
来自您的标签布局活动
-
但是我已经在 Fragment 中设置了 TabLayout。所以我得到了 null ?
-
您在 Activity 或 Fragment 中的选项卡布局
标签: viewpager android android-fragments android-viewpager android-tablayout