Mam ten kod we fragmencieKorzystanie onConfigurationChanged we fragmencie
public class TestOne extends Fragment {
View view = null;
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
LayoutInflater inflater2 = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater2.inflate(R.layout.testone, null);
Toast.makeText(getActivity(), "Rotate fragment", Toast.LENGTH_SHORT).show();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(getActivity(), "onCreate Fragment", Toast.LENGTH_SHORT).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
view = inflater.inflate(R.layout.testone, null);
Toast.makeText(getActivity(), "onCreateView fragment", Toast.LENGTH_SHORT).show();
return view;
}
}
Co usiłuję zrobić jest to, że kiedy obrócić telefon, nie chcę metody, które należy ponownie wykonywane. Ale chcę ponownie wywołać układ xml, aby załadować xml folderu layout-land.
Kod ten nie daje żadnych błędów, po prostu nie działa i nie rozumieją przyczynę ..
Jestem bardzo zainteresowany w tym, że korzystając onConfiguratonChanged
I wdzięczni za każdą pomoc.
Dzięki i pozdrowienia
Metody w twoim 'FragmentActivity' – mjosh
są metody, które powinny być w fragmencie – Sergio76
I dlaczego powinien działać? W "onConfigurationChanged" po prostu nadmuchaj układ i przypisz go do jednego z pól "Activity". Radziłbym użyć 'setRetainInstance (true)' zamiast metody 'onConfigurationChanged'. Jako ręczne rozwiązanie, zawsze można usunąć wszystkie widoki z 'getView()' i ponownie dołączyć nowo zawyżony układ. – Luksprog