2013-11-18 4 views
13

здесь заявления:Фрагмент не отображается, когда метод Add() называется

FragmentManager fr = getFragmentManager(); 
FragmentTransaction ft = fr.beginTransaction(); 
Fragment myFragment = new defaultFragment(); 
ft.add(R.id.fragment, myFragment); 
ft.commit(); 

и здесь является onClick() метод:

public void startFragment(View v){ 
    newFragment = new nextFragment(); 
    execute(); 
} 

выполнить метод:

public void execute() { 
    FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
    transaction.add(R.id.fragment, newFragment); 
    transaction.addToBackStack(null); 
    transaction.commit(); 
} 

я проблема, но когда я нажимаю кнопку, которая запускает метод startFragment(View v), ничего не происходит, e фрагмент не заменяется фрагментом, который я хочу добавить в стек. Я думаю, что проблема имеет какое-то отношение к этой строке. transaction.add(R.id.fragment, newFragment); help please thanks :)

+3

использовать 'replace'. Также вы видите какие-либо исключения из журнала – Raghunandan

+0

на логарифме, кажется, что он называется классом nextFragment(), но текущий фрагмент не исчез, или следующее выражение не появилось, я не использовал замену, потому что я не хочу потерять данные, которые у меня есть из моего предыдущего фрагмента, поэтому, когда я нажал кнопку «Назад», мне не нужно перезагружать onCreateView(). – CENT1PEDE

+0

эй @ Raghunandan, я получил его, спасибо за помощь, хотя :)) благодаря Rajesh Batth – CENT1PEDE

ответ

42

Попробуйте добавить фрагмент к FrameLayout. Я не смог добавить его в LinearLayout, но я изменил его на FrameLayout, и он сработал.

+1

о, спасибо вам, это сработало :)) – CENT1PEDE

+9

Ow, LOL! Большое спасибо! как глупо. Конечно, LinearLayout добавит представление дальше или ниже предыдущего фрагмента. FrameLayout поместит его в верхнюю часть предыдущего. Так что это было, но не видно, так как первый фрагмент заполняет экран (с помощью MATCH_PARENT) – Boy

+0

Просто убей меня вопросом LOL – Robert

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