2017-09-04 82 views
2

使用Android Framgent,我有三個片段佈局,我想隱藏基於標記的片段。當第一個片段可見時,想要禁用第二個片段 我能夠隱藏標籤佈局的選項卡標題,但不能刪除Page.How來存檔它。? 我搜索了很多,但沒有找到,因爲我接受。隱藏Android片段

public class Sample extends AppCompatActivity implements Commands.FragmentDataListener_Commands_epg{ 
Bundle dataBundle; 
TabLayout tabLayout; 
String flag; 
private Sample.SectionsPagerAdapter mSectionsPagerAdapter; 
private ViewPager mViewPager; 
private GoogleApiClient client; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_details_customer); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    Intent intent=getIntent(); 
    flag = intent.getStringExtra("flag"); 

    mSectionsPagerAdapter = new Sample.SectionsPagerAdapter(getSupportFragmentManager()); 
    mViewPager = (ViewPager) findViewById(R.id.container); 
    mViewPager.setAdapter(mSectionsPagerAdapter); 

    tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(mViewPager); 
    if(flag.equals("1")) { 
     tabLayout.removeTabAt(0); 

    } 
    else if(flag.equals("2")) 
    { 
     tabLayout.removeTabAt(1); 
    } 

    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 

} 


@Override 
public void onFragmentDataUpdated(Bundle dataBundle) 
{ 
    this.dataBundle=dataBundle; 
} 

@Override 
public void onStart() { 
    super.onStart(); 

    client.connect(); 
    AppIndex.AppIndexApi.start(client, getIndexApiAction()); 
} 

@Override 
public void onStop() { 
    super.onStop(); 

    AppIndex.AppIndexApi.end(client, getIndexApiAction()); 
    client.disconnect(); 
} 
public class SectionsPagerAdapter extends FragmentPagerAdapter { 

    public SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch (position) { 
      case 0: 
        //first page 
      case 1: 
        //second page 
     } 
     return null; 
    } 

    @Override 
    public int getCount() { 
     // Show 2 total pages. 
      return 2; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     switch (position) { 
      case 0: 
       return "First"; 
      case 1: 
       return "second"; 
      } 
     return null; 
    } 
}} 

在此先感謝您。

回答

0

既然你意圖得到國旗,你不需要tabLayout。只是初始化和你的觀點的片段。像下面 一些代碼:

Fragment fragmentInput = new FragmentAddVehicle(); 
FragmentManager getSupportFragmentManager.beginTransaction().add(R.id.ll_root_container, fragmentInput).commit(); 
+0

我想隱藏佈局不加 – Prashant

+0

在OnCreate,設置在片斷陣列,並使用其大小爲您getCount將()SectionsPagerAdapter的。然後沒有標籤刪除需要。 –