2014-04-23 27 views
5

Dołączam fragment (wiele fragmentów do FrameLayout) z Activity każdy fragment ma swój własny widok zawyżone w onCreateView().fragment onCreateView o nazwie wiele razy

Teraz

Gdybym obracać krajobrazu ekranu/Protrait onCreateView() fragmentu nazywa zamiast dzwonić onCreate() metodę załączonym czy działalność jest. Z tego powodu widok jest renderowany dwukrotnie.

Chcę, aby funkcja "onCreate()" była wywoływana za każdym razem, gdy nastąpiła zmiana w konfiguracji. Czy to możliwe?

aktywny:MainActivity.java

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    getSupportFragmentManager().beginTransaction() 
     .add(R.id.layout_replace, new MyFragment()).commit(); 
} 

fragment:MyFragment.java

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {   
    return (ScrollView)inflater.inflate(R.layout.some_layout, container, false); 
} 
+0

Podczas obracania The 'Activity' jest zniszczona i zaczęła. jeśli dołączony jest 'Fragment', zostanie wywołany' onCreateView() '. Czy możesz pokazać część swojego kodu? –

+0

@FlorianMacLanglade Zaktualizowałem mój kod przykładowy – yashhy

+0

Czy chcesz, aby fragment został dodany dynamicznie? Jeśli nie, możesz zadeklarować fragment bezpośrednio w swoim układzie xml. – sddamico

Odpowiedz

Powiązane problemy