2013-04-12 2 views
2

enter image description hereКак начать фрагмент/активность внутри фрагмента?

У меня есть кнопка в Fragment. При нажатии на Button необходимо открыть Fragment/Activity в пределах Fragment. Я написал код, используя Intent, Intent i = new Intent(); i.setClass(getActivity(), UpdateProfile.class); startActivity(i); , но его открытие в новом виде, как показано ниже. enter image description here

Мое требование приведено на рисунке 1. Кто-нибудь может предложить мне, как это сделать?

EDIT: Как было предложено rai и ADK, его рабочий тон, но новый фрагмент накладывается на старый фрагмент. См. Изображение ниже. «Изменить пароль» (TextView) - это новый фрагмент, который накладывается на существующий фрагмент.

enter image description here

ответ

1

Вы должны использовать FragmentTransaction enter link description here.

Как это

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

в вашей деятельности

+0

http://oi48.tinypic.com/1j3i1k.jpg проверить это .. Я не получаю '.getInstance();' BTW Мой главный класс расширяет 'Fragment', а не' FragmentActivity' – DroidLearner

+0

Ох, извините .... define getInstance() в методе YourFragmentWithImageClass возвратил новый YourFragmentWithImageClass() – ADK

+0

yea .. Я получил это .. Но у меня есть еще одна проблема. Пожалуйста, проверьте право редактировать этот пост. Я обновил этот пост с новым изображением. – DroidLearner

3

Try:

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

В newFragment мне нужно указать id или Classname ?? – DroidLearner

+0

проверить это http://oi48.tinypic.com/1j3i1k.jpg Я не получаю это. – DroidLearner

+0

@DroidLearner Ни то, ни другое. Передайте экземпляр 'Fragment'. В вашем случае «UpdateProfile.instantiate (getActivity(),« имя фрагмента »)), может быть? – tnj

Смежные вопросы