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)