TabLayoutとオプションメニューを使用してプログラムを作成しようとしていますが、これを選択するとタブとともにフラグメントを追加または削除できます。私はタブを削除することができますが、私はタブが保持するフラグメントを削除する必要があるため、他に何が必要なのか理解できません。また、私はちょうど見えないフラグメントの位置を並べ替える必要があります把握するため。これで私を助けてくれますか? mainAcitivity下TabLayout&FragmentStatePagerAdapterからタブとそれに関連付けられたフラグメントを削除する方法
この私が
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tab1= tabLayout.newTab().setText("TAB 1");
tabLayout.addTab(tab1);
tab2 = tabLayout.newTab().setText("TAB 2");
tabLayout.addTab(tabKantipur);
タブを追加する方法。これはFragmentstatePagerAdapter
public class TabPagerAdapter extends FragmentStatePagerAdapter {
int tabCount;
public TabPagerAdapter(FragmentManager fm, int numberOfTabs) {
super(fm);
this.tabCount = numberOfTabs;
}
@Override
public int getItemPosition(Object object) {
return super.getItemPosition(object);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return NewsFragment.newInstance("data for fragment 1");
case 1:
return NewsFragment.newInstance("data for fragment 2");
default:
return null;
}
}
@Override
public int getCount() {
return tabCount;
}
}
です基本的に、ここでNewsFragmentは、その新しいインスタンスのタブで使用されている断片です。 onActivityResultの下で私はこの唯一の最初のタブは、私はあまりにも関連するフラグメントを削除する方法を知りたいのですが削除されるそうであるようにfragmetns
mpagerAdapter = new TabPagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
removedTab = ..data received from ooption menu
// here I want to remove the Tab & the fragments (tab1 & its fragment)
if (removeTab == "tab1") {
tabLayout.removeTab(tab1);
mpagerAdapter.notifyDataSetChanged();
}
}
を追加または削除するには、オプションメニューから要求されたデータを取得しています。
あなたは同じステップでそれをしたいですか?わかりませんが、常にプログラムでフラグメントを削除できます。 http://stackoverflow.com/questions/22474584/remove-old-fragment-from-fragment-manager –
また、 'removeTab ==" tab1 "'はJavaの文字列を比較する方法ではありません –
はい私はそれをしたい私が数週間過ごした同じステップはまだそれを行うことができません。すべてのチュートリアルでは、フラグメントへのタグの設定について説明していますが、わかるように、私のフラグメントにはTagはありません。 – choman