используется следующая функцией, которая заставит показать сложенную вкладку
private void forceStackedTabs(ActionBar ab)
{
try
{
if (ab instanceof ActionBarImpl)
{
// Pre-ICS
disableEmbeddedTabs(ab);
}
else if (ab instanceof ActionBarWrapper)
{
// ICS
try
{
Field abField = ab.getClass().getDeclaredField("mActionBar");
abField.setAccessible(true);
disableEmbeddedTabs(abField.get(ab));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void disableEmbeddedTabs(Object ab)
{
try
{
Method setHasEmbeddedTabsMethod = ab.getClass().getDeclaredMethod("setHasEmbeddedTabs", boolean.class);
setHasEmbeddedTabsMethod.setAccessible(true);
setHasEmbeddedTabsMethod.invoke(ab, false);
}
catch (Exception e)
{
e.printStackTrace();
}
}
я прокомментировал, если-то еще, если, потому что я не konw, что вы имели в виду ActionBarImpl и ActionBarWrapper, и он работает. Благодаря! (Если вы хотите объяснить это мне, что было бы замечательно: D) – RominaV
Эй, у меня есть комментарий относительно того же. До того, как ICS 4.0 ActionBar был экземпляром класса ActionBarImpl и из ICS, это экземпляр класса ActionBarWrapper. Проверьте эту функциональность на разных ОС. – Sandeep
СПАСИБО! Ваш код работает хорошо для меня. Дополнительное примечание: я думаю, ActionBarWrapper применяется только в том случае, если вы используете библиотеку ActionBarSherlock. В моем случае я не делаю этого, а реализация по умолчанию для Android - его внутренний класс ActionBarImpl. –