2016-10-04 7 views
1

私はFragmentPagerAdapterを使用して1つのアクティビティーで3つのフラグメントを作成しました。最初のフラグメントは2番目のフラグメントで移動します。3番目のフラグメントをトリガーし、それだけが2番目の断片に戻っていた。フラグメント2がアンドロイドでフラグメント1の前にトリガーされました

public class Main_Activity extends AppCompatActivity { 
DrawerLayout mDrawerLayout; 

FragmentManager mFragmentManager; 
FragmentTransaction mFragmentTransaction; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_layout); 

    /** 
    *Setup the DrawerLayout and NavigationView 
    */ 

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); 
    mNavigationView = (NavigationView) findViewById(R.id.shitstuff); 

    /** 
    * Lets inflate the very first fragment 
    * Here , we are inflating the TabFragment as the first Fragment 
    */ 

    mFragmentManager = getSupportFragmentManager(); 
    mFragmentTransaction = mFragmentManager.beginTransaction(); 
    mFragmentTransaction.replace(R.id.containerView, new TabFragment()).commit(); 
    /** 
    * Setup click events on the Navigation View Items. 
    */ 


    android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar); 
    ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.app_name, 
      R.string.app_name); 

    mDrawerLayout.setDrawerListener(mDrawerToggle); 

    mDrawerToggle.syncState(); 

} 

}

public class HomeFragment extends Fragment { 

FragmentManager mFragmentManager; 
FragmentTransaction mFragmentTransaction; 
ViewPager viewPager; 

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

    View rootView = inflater.inflate(R.layout.home_layout, container, false); 
    FragmentManager fm = getActivity().getSupportFragmentManager(); 
    viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager); 
    viewPager.setCurrentItem(0); 
    final Button bt_view = (Button) rootView.findViewById(R.id.BT_view); 
    bt_view.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(getActivity(), BookList_Activity.class)); 

     } 
    }); 
    final Button bt_add = (Button) rootView.findViewById(R.id.BT_AddBook); 
    bt_add.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 



      viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager); 
      viewPager.setCurrentItem(1); 
     } 
    }); 


    return rootView; 
} 

}

public class SecondFragment extends Fragment implements View.OnClickListener { 


Button bt_next; 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.selectlocation_layout, container, false); 


    // Inflate the layout for this fragment 
    bt_next = (Button) rootView.findViewById(R.id.BT_continue); 


    // Implement OnClick,OnTouch and OnItemSelected Events 

    //OnItemSelected Listner 


    // OnClick Listner 
    bt_next.setOnClickListener(this); 


    return rootView; 
} 

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.BT_continue: 

       viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager); 
       viewPager.setCurrentItem(2); 

      break; 

    } 
} 

}

public class ThirdFragment extends Fragment implements View.OnClickListener, View.OnTouchListener { 

表示rootView。

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


     rootView = inflater.inflate(R.layout.addbook_layout, container, false); 

    return rootView; 
} 

}

+1

でお願いします。それを一歩一歩してください。これを使用してあなたの質問を編集する:1)あなたが望むもの2)あなたが試みたもの3)どの問題が表示されている。それは本当に混乱して正直なところ私は本当にこの質問には意味がありません。 –

+0

あなたは 'FragmentManager fm = getActivity()。getSupportFragmentManager();'をどこで使っていますか? –

+0

ここで、あなたのViewページャにアダプタを設定しますか? –

答えて

0

あなたonCreateView()方法でviewPager.setCurrentItem(0);を設定します。

関連する問題