我创建了一个应用程序,并在应用程序启动时包含了视图寻呼机圆圈指示器作为启动教程。第一个片段屏幕显示应用程序的名称,第二个片段屏幕显示使用应用程序的基本步骤,而第三个屏幕显示您已准备好使用应用程序然后应用程序启动。现在的问题是,当用户处于第二个片段屏幕时,我想要禁用第一个片段屏幕,以便在页面swip上不再显示SPLASH屏幕片段屏幕。当用户转到第二个片段时,第一个屏幕被禁用/锁定/隐藏任何不允许用户移动到第一个屏幕的内容。
这是我的onPageChangeListener
代码private void setTab(){
_mViewPager.addOnPageChangeListener(new OnPageChangeListener(){
@Override
public void onPageScrollStateChanged(int position) {}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {}
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
btnAction(position);
if (position == 1)
{
}
}
});
现在我尝试了这样的位置:
if (position == 1)
{
getSupportFragmentManager().beginTransaction().remove(LayoutOne.newInstance(getApplicationContext())).commit();
}
但它不起作用。请帮助隐藏/禁用/锁定第一个片段屏幕
答案 0 :(得分:0)
private Fragment fr;
private FragmentTransaction ft;
fr = new NextFragment();
ft = getFragmentManager().beginTransaction();
ft.replace(R.id.your_replace_container, fr).addToBackStack(null).commit();
您可以通过旧片段替换它来启动/调用新片段,如:
ft.replace()...
并且您可以将旧的一个添加到堆栈中,以便在返回键上从移动的位置获取屏幕上的旧片段!
ft.replace()...addToBackStack()... //on back key
尝试编辑或执行上述操作。
答案 1 :(得分:0)
您应该使用FragmentPagerAdapter来处理片段的导航并在viewpager中设置该适配器
答案 2 :(得分:0)
最好的解决方案是从viewpager中删除相关的片段。看看这个图书馆
答案 3 :(得分:0)
使用以下代码。这会对你有所帮助。
FragmentTransactionfragmenttransaction = getSupportFragmentManager().beginTransaction();
FirstFragment regcomplainfragment = new FirstFragment();
fragmenttransaction.replace(R.id.content_frame, regcomplainfragment).addToBackStack("tag");
fragmenttransaction.commit();