'User profile fragment Setting

i am creating small app with login and signup option and also with profile fragment so that user can update their profile later. i design my user profile layout but don't know how to code with java so when user open profile fragment he changed his detail . i am using firebasefirestore please help me

public class ProfileFragment extends Fragment {
    FirebaseAuth auth;
    FirebaseFirestore database;
    UserDetail userDetail;
    public ProfileFragment() {
        // Required empty public constructor
    }



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    FragmentProfileBinding binding;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        binding = FragmentProfileBinding.inflate( inflater, container,false );
        database =  FirebaseFirestore.getInstance();
        database.collection( "Users" )
                .document( FirebaseAuth.getInstance().getUid() )
                .get().addOnSuccessListener( new OnSuccessListener<DocumentSnapshot>() {
            @Override
            public void onSuccess(DocumentSnapshot documentSnapshot) {
                userDetail = documentSnapshot.toObject( UserDetail.class );

            }
        } );
        binding.updateButton.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name, cityName, mobileNumber, whatsappNumber, email, password;
                name = binding.nameBox.getText().toString();
                cityName = binding.cityNameBox.getText().toString();
                mobileNumber = binding.mobileNumberBox.getText().toString();
                whatsappNumber = binding.whatsappNumberBox.getText().toString();
                email = binding.emailBox.getText().toString();
                password = binding.passwordBox.getText().toString();

                final UserDetail userDetail = new UserDetail(name, email, password, cityName, mobileNumber, whatsappNumber);


                }

        } );

        return binding.getRoot();
    }
}


Solution 1:[1]

Override this method in your fragment :

@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
    this.isHidden = hidden;
    if (isHidden) {
        //todo do something
    } else {
       //todo do something
    }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Behnam Nasehi