DroidLearner
DroidLearner

Reputation: 2135

How to start a Fragment/Activity within Fragment?

enter image description here

I have a button in Fragment. When Button is clicked it has to Open new Fragment/Activity within Fragment. I have written code using Intent, Intent i = new Intent(); i.setClass(getActivity(), UpdateProfile.class); startActivity(i); but its opening in new activity like in below image. enter image description here

My requirement is in Picture 1. Can someone suggest me how to do it?

EDIT: As suggested by rai and ADK, its working fine but new fragment overlays on old fragment. See the below image. "Change Password"(TextView) is New Fragment which overlays on existing fragment.

enter image description here

Upvotes: 2

Views: 16251

Answers (2)

tnj
tnj

Reputation: 913

Try:

getFragmentManager()
    .beginTransaction()
    .replace(containerViewId, newFragment)
    .addToBackStack(null) // enables back key
    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE) // if you need transition
    .commit();

Upvotes: 3

ADK
ADK

Reputation: 513

You should to use FragmentTransaction enter link description here.

Like this

        FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.yourFragment, YourFragmentWithImageClass.getInstance());
        fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        fragmentTransaction.commit();

in your Activity

Upvotes: 1

Related Questions