2017-09-04 20 views
2

Android Framgentを使用しています。私は3つのフラグメントレイアウトを持っています。フラグに基づいてフラグメントを隠したいと思います。最初のフラグメントが表示されたら、2番目のフラグメントを無効にします。 タブレイアウトのタブ見出しを非表示にできますPageを取り除くにはどうすればいいですか? 私はたくさんの検索をしましたが、私が受け入れたので見つけられませんでした。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は必要ありません。ちょうどinitとあなたの見解に断片。 以下のようないくつかのコード:

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

私はのonCreate、セットアップの断片配列で – Prashant

+0

を追加し、同様にgetCount(のためにそのサイズを使用しないレイアウトを非表示にする)SectionsPagerAdapterの。その後、タブを削除する必要はありません。 –

関連する問題