[英]Button on first fragment moves out of screen when replaced with second fragment
[英]Disable First Fragment When User is in Second Fragment
我制作了一個應用程序,並在應用程序的啟動中包含了視圖尋呼機圓圈指示器作為啟動教程。 第一個片段屏幕顯示應用程序的名稱,第二個片段屏幕顯示使用應用程序的基本步驟,而第三個屏幕顯示您已准備好使用該應用程序,然后應用程序啟動。 現在的問題是,當用戶處於第二個片段屏幕時,我想禁用第一個片段屏幕,以便 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();
}
但它不起作用。 請幫助如何隱藏/禁用/鎖定第一個片段屏幕
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
嘗試編輯或執行上述操作。
您應該使用FragmentPagerAdapter進行片段導航,並在viewpager中設置該適配器
最好的解決方案是從viewpager中刪除相關片段。 看看這個圖書館
使用以下代碼。 這將對您有所幫助。
FragmentTransactionfragmenttransaction = getSupportFragmentManager().beginTransaction();
FirstFragment regcomplainfragment = new FirstFragment();
fragmenttransaction.replace(R.id.content_frame, regcomplainfragment).addToBackStack("tag");
fragmenttransaction.commit();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.