How to transfer some data to another Fragment?

前端 未结 10 2021
说谎
说谎 2020-11-22 11:41

How to transfer some data to another Fragment likewise it was done with extras for intents?

10条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-22 12:33

                First Fragment Sending String To Next Fragment
                public class MainActivity extends AppCompatActivity {
                        private Button Add;
                        private EditText edt;
                        FragmentManager fragmentManager;
                        FragClass1 fragClass1;
    
    
                        @Override
                        protected void onCreate(Bundle savedInstanceState) {
                            super.onCreate(savedInstanceState);
                            setContentView(R.layout.activity_main);
                            Add= (Button) findViewById(R.id.BtnNext);
                            edt= (EditText) findViewById(R.id.editText);
    
                            Add.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    fragClass1=new FragClass1();
                                    Bundle bundle=new Bundle();
    
                                    fragmentManager=getSupportFragmentManager();
                                    fragClass1.setArguments(bundle);
                                    bundle.putString("hello",edt.getText().toString());
                                    FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
                                    fragmentTransaction.add(R.id.activity_main,fragClass1,"");
                                    fragmentTransaction.addToBackStack(null);
                                    fragmentTransaction.commit();
    
                                }
                            });
                        }
                    }
             Next Fragment to fetch the string.
                public class FragClass1 extends Fragment {
                      EditText showFrag1;
    
    
                        @Nullable
                        @Override
                        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    
                            View view=inflater.inflate(R.layout.lay_frag1,null);
                            showFrag1= (EditText) view.findViewById(R.id.edtText);
                            Bundle bundle=getArguments();
                            String a=getArguments().getString("hello");//Use This or The Below Commented Code
                            showFrag1.setText(a);
                            //showFrag1.setText(String.valueOf(bundle.getString("hello")));
                            return view;
                        }
                    }
        I used Frame Layout easy to use.
        Don't Forget to Add Background color or else fragment will overlap.
    This is for First Fragment.
        
    
            
            

提交回复
热议问题