0

私はタブ付きアプリケーションを持っています。すべてのタブのレイアウトは同じです。しかし、内容はjsonレスポンスに応じて異なります。だから私はすべてのビューで単一のフラグメントと再利用を作成しようとしています。しかし、私はどのようにタブの位置を取得するか分からない。私は別のWebサービスを呼び出すことができるように。アンドロイドスタジオでフラグメントを再利用してタブ位置を取得

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    // Inflate the layout for this fragment 

    View view = inflater.inflate(R.layout.fragment_fragment_all_employee, container, false); 
    recyclerView_allemp = (RecyclerView) view.findViewById(R.id.recyclerview_allemp); 
    recyclerView_allemp.setLayoutManager(new LinearLayoutManager(getActivity())); 
// need to get the tabposition 
    new EmployeeTask().execute("http://something.com"); 
    return view; 
} 

ViewPager OnCreate関数:あなたが何をすべきかのものを決めることができた位置に基づいてだからここ

int position = mViewPager.getCurrentItem(); 
Fragment fragment = adapter.getItem(position); 

:あなたはviewpagerの現在位置を取得することができますコードの下

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_activity_employee_screen); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    mViewPager = (ViewPager) findViewById(R.id.container); 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 

    tabLayout.addTab(tabLayout.newTab().setText("ALL EMPLOYEES")); 
    tabLayout.addTab(tabLayout.newTab().setText("MALE EMPLOYEES")); 
    tabLayout.addTab(tabLayout.newTab().setText("FEMALE EMPLOYEES")); 
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 

    final ViewPager viewPager= (ViewPager) findViewById(R.id.container); 
    final PagerAdapter adapter=new PagerAdapter(getSupportFragmentManager(),tabLayout.getTabCount()); 
    viewPager.setAdapter(adapter); 
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){ 

     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
} 
+0

ViewPagerを使用していますか? –

+0

はい。わたし。 viewpagerでコードを更新しました – iOSMAn

答えて

0

使用その断片。

関連する問題