5

Obecnie jestem w trakcie przesyłania mojej aplikacji, aby działała na urządzeniu przed wersją 3.0 za pomocą actionbarsherlock.ActionbarSherlock - tabulatory nie reagują na orientację w orientacji poziomej

Jeśli użytkownik uruchomi aplikację w trybie portretu, a następnie obróci ekran i spróbuje wybrać kartę, nic się nie stanie, dopóki użytkownik nie wykona innej czynności. Aktualną kompilację, która to robi, można pobrać tutaj (sherlock-alpha1) http://tinyurl.com/cz95nup.

Tabs są dodawane w następujący sposób

 bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     bar.addTab(bar.newTab().setText("tab1").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab2").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab3").setTabListener(this),false); 

Dzieje się tak również wtedy, gdy uruchomisz aplikację w krajobrazie, a następnie używać go w trybie portretowym (tabs portret nie będzie działać).

Działa dobrze na urządzeniach z natywnym paskiem akcji.

+0

Jaką minSDKversion używasz już teraz? – Davek804

+0

@ Davek804 android: minSdkVersion = "7" – bencallis

+0

Niedawno zrobiłem to samo i nie doświadczyłem tego błędu. Czy nadal występuje, jeśli zmienisz minVersion na 10? Na jakim urządzeniu wersji testujesz to? Czy to AVM? – Davek804

Odpowiedz

11

Czy zajmujesz się zmianami konfiguracji w manifeście?

android:configChanges="orientation" 

Jeśli tak to nie pozwala fałszywy pogląd, że wystrój ActionBarSherlock instaluje być ponownie zainicjowany na obrót co spowoduje wiele problemów.

Obsługa zmian konfiguracyjnych powinna być używana tak oszczędnie, jak to możliwe. Dokumentacja stwierdza, że ​​it should be used as a last resort.

Przyszłe wersje biblioteki będą miały nadzieję, że będą w stanie rozliczać osoby, które zdecydują się to zrobić.

+0

Miałem przeczucie, że może być z tym związane. Będę musiał przerobić mój kod. Obecnie jest używany do zatrzymania ponownego pobierania listy i do skonfigurowania szerokości fragmentu listy podczas zmiany orientacji. Wszelkie proste pomysły, jak to zrobić w inny sposób? Dzięki za wsparcie. – bencallis

0

Mam takie same problemy. Musiałem dodać tę linię i na AVD jest OK, nie wiem, czy działa na prawdziwych urządzeniach.

<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" /> 
+0

Doens't wydaje się pracować dla mnie. – bencallis

3

Dla mnie było obojętne po zmianach orientacji, a nie w trybie poziomym. Po wielu prób i błędów znalazłem następujące rozwiązanie tego błędu:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
    super.onConfigurationChanged(newConfig); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
} 

Sztuką jest, aby zmienić tryb nawigacji do listy i wrócić do zakładek.

+0

Hej, to jest niesamowite! – rocknow

Powiązane problemy