Sanjeev
Sanjeev

Reputation: 292

how to move from one fragment to another fragment on button click

I am using the SherlockFragments library for the sliding menu.I have list of items as menu when I click on item fragment get opened as an activity but it is a fragment.Now I am new to fragments.i don't know how to move from one fragment to another fragment.As in activity, we have intent to move to another activity.but in fragment I don't how to move to another fragment.I have a button in fragmentA.when I click on this button it moves to fragment B. By googling I came to know that it has different cycles but anyhow I get toast msg when I click button here is following code

public class Fragment2 extends Fragment {
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.actionnetworklogin, container, false);
        Button login = (Button)view.findViewById(R.id.login);

        login.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(v.getContext().getApplicationContext(),"login clicked", 5000).show();
            }
        });
        return view;
    }   
}

Can someone please tell me how can I move one fragment to another fragment?

Is there any other method that I can use activities instead of fragments?

I have written code for all activities and java files but I don't know that sliding menu has fragmented and now I have to write all the code fragments.

Upvotes: 1

Views: 33755

Answers (6)

Sanjeev
Sanjeev

Reputation: 292

 //Below is the example 

 //In first Fragment 

Fragment fragment = new YourFragmentClassName();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();                       android.support.v4.app.FragmentTransaction ft= fragmentManager.beginTransaction();
ft.replace(R.id.flContent, fragment);
Bundle args = new Bundle();
// Pass the values what you want to send to next fragment 
args.putInt("Year", rYear);
args.putString("Month", rMonth);
args.putInt("Industry", rIndustry);
fragment.setArguments(args);
ft.commit();

//In Second Fragment

//In onCreateView Method get the values



int strYear= getArguments().getInt("Year");
String strMonth = getArguments().getString("Month");
strIndustry= getArguments().getInt("Industry");

//That's it very simple

Upvotes: 0

Vishal Vaishnav
Vishal Vaishnav

Reputation: 3422

 FragmentTransaction fragmenttransaction = getSupportFragmentManager().beginTransaction();
 FirstFragment regcomplainfragment = new FirstFragment();
 fragmenttransaction.replace(R.id.content_frame,   regcomplainfragment).addToBackStack("tag");
 fragmenttransaction.commit();

Upvotes: 0

Daulat Bachhav
Daulat Bachhav

Reputation: 356

It's simple Only three line code...

Fragment fragment = new SalesFragment();

FragmentManager fragmentManager = getFragmentManager();

fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();

Upvotes: 3

Gajen Vishwakarma
Gajen Vishwakarma

Reputation: 11

FragmentManager fragmentManager = getFragmentManager();
                fragmentManager
                        .beginTransaction()
                        .replace(R.id.frame_container,
                                new TeacherFragment()).commit();

Upvotes: 0

Amit Jayaswal
Amit Jayaswal

Reputation: 1723

You can try this also:-

public void ButtonClick(View view) {
  Fragment mFragment = new YourNextFragment(); 
 getSupportFragmentManager().beginTransaction()
            .replace(R.id.content_frame, mFragment ).commit();
 }

Upvotes: 0

Thiago
Thiago

Reputation: 337

This is the code I use to switch fragments inside a view:

FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace([viewId], fragment, tag);
fragmentTransaction.addToBackStack(tag);
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.commit();

Upvotes: 2

Related Questions