私はアンドロイドのアプリケーション開発には新しく、現在TabBarLayoutでNavigationDrawerを持つプロジェクトに取り組んでいます。 私の問題は、私は2つのボタンのログインからなるフラグメントを持っていたし、登録することである:ボタンonClickListenerでのviewpager.setCurretntItem()
lgn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager=getActivity().getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.containerView,new TabFragment()).addToBackStack(null).commit();
}
});
rgst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager=getActivity().getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.containerView,new TabFragment()).addToBackStack(null).commit();
}
});
を、今私は、ログインをクリックするか、[開く]ボタンのタブバーのレイアウトを登録した場合。 これで、ログインボタンをクリックすると、ログインフラグメントがタブバーレイアウトで表示され、登録ボタンをクリックすると、登録フラグメントがタブバーで開きます。
私はまた、そのためにGoogleで検索しviewpager.setCurrentItem
を見つけたが、私はそれを行うために私にいくつかのロジックを暗示してください。この
public class TabFragment extends Fragment {
public static TabLayout tabLayout;
public static ViewPager viewPager;
public static int int_items = 2 ;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View x=inflater.inflate(R.layout.tab_layout,null);
tabLayout=(TabLayout)x.findViewById(R.id.tabs);
viewPager=(ViewPager)x.findViewById(R.id.viewpager);
viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
viewPager.setCurrentItem(1); //here i am unable to decide how to open specific fragment
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
return x;
}
class MyAdapter extends FragmentPagerAdapter{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position)
{
case 0: return new Login();
case 1: return new Registration();
}
return null;
}
@Override
public int getCount() {
return int_items;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position)
{
case 0:
return "Login";
case 1:
return "Registration";
}
return null;
}
}
ように使用私の要件
のためにそれを使用することができません...事前に感謝...
このブールがどのボタンに当てはまるかを考える方法 – Manish
これはあなたのロジックです。ブール値をtrueに設定し、登録falseにします。ブール値をチェックし、適切なビューページ項目を起動します。 – kgandroid
あなたの返答に感謝しますが、私はログインと登録ボタンに別のフラグメントページがあり、特定のログインまたは登録ページを開くためにどのボタンがクリックされたかをタブバーレイアウトに伝えています.... – Manish