Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • How to pass data from one fragment to another in Android?

    • 0
    • 0
    • 0
    • 0
    • 3
    • 0
    • 0
    • 0
    • 17.0k
    Comment on it

    To pass data from one fragment to another in android we simply make use of Bundle .

    In this example I am sending three String  from MainActivityFragment(Fragment)  to SecondFragment(Fragment) with the help of Bundle. 

    Below is the code for the MainActivityFragment.

     

    MainActivityFragment.java

    public class MainActivityFragment extends Fragment {
    
    private EditText memail_et,muser_name_et,mphone_et;
    private Button sign_up_btn;
    private String memail,muser_name,mphone_number;
    
    @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            View rootView=inflater.inflate(R.layout.fragment_main_activity, container, false);
    
            memail_et=(EditText)rootView.findViewById(R.id.email_et);
            muser_name_et=(EditText)rootView.findViewById(R.id.user_name_et);
            mphone_et=(EditText)rootView.findViewById(R.id.mobile_no_et);
            sign_up_btn=(Button)rootView.findViewById(R.id.sign_up_btn);
            sign_up_btn.setOnClickListener(mClickListener);
                  return rootView;
        }
    View.OnClickListener mClickListener=new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          
        memail=memail_et.getText().toString();
                muser_name=muser_name_et.getText().toString();
                mphone_number=mphone_et.getText().toString();
    
         FragmentTransaction transection=getFragmentManager().beginTransaction();
                SecondFragment mfragment=new SecondFragment();
    
    //using Bundle to send data 
                Bundle bundle=new Bundle();
                bundle.putString("email",memail);
                bundle.putString("user_name",muser_name);
                bundle.putString("phone",mphone_number);
                mfragment.setArguments(bundle); //data being send to SecondFragment
                transection.replace(R.id.main_fragment, mfragment);
                transection.commit();
      }
    
        }
    
    }
    

     

    Add the below code to your SecondFragment.

     

    SecondFragment.java

    public class SecondFragment extends Fragment {
    
    private TextView memail,mphone,muser;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            View rootview = inflater.inflate(R.layout.fragment_second, container, false);
            memail=(TextView)rootview.findViewById(R.id.mail);
            mphone=(TextView)rootview.findViewById(R.id.phone_number);
            muser=(TextView)rootview.findViewById(R.id.user_name);
    
    //retrieving data using bundle
    
            Bundle bundle=getArguments();
            memail.setText(String.valueOf(bundle.getString("email")));
            muser.setText(String.valueOf(bundle.getString("user_name")));
            mphone.setText(String.valueOf(bundle.getString("phone")));
            return rootview;
        
    }
    
    
    
    }

     

 3 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: