2016-10-04 64 views
1

片段1之前触发我已创建了三个片段在单个活性随使用FragmentPagerAdapter.In第一片段的我用按钮点击移动到第二fragment.While调试第一它被触发到第三片段上,然后只有它返回到第二个片段。片段2在机器人

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; 
} 
onCreateView()方法

}

+1

请。一步一步做。使用这个编辑你的问题:1)你想要什么2)你尝试过3)哪个问题正在显示。这真的是令人困惑,老实说,我真的不明白这个问题。 –

+0

你在哪里使用'FragmentManager fm = getActivity()。getSupportFragmentManager();'? –

+0

你在哪里设置适配器到View分页器? –

回答