ActivityGroup внутри TabHost не показывает содержимое после первого запуска - PullRequest
1 голос
/ 20 сентября 2011

У меня проблема с ActivityGroup.Мое приложение имеет 4 вкладки, 2 из которых имеют ActivityGroup и 2 более простые действия.Проблема заключается в том, что после первого запуска содержимого приложения отображается правильно, а при выходе из приложения с помощью кнопки назад и возврата на вкладках с группой действий не отображается никакого содержимого, включая меню.В то время как вкладки с простым действием работают правильно.У вас есть какие-либо идеи?


Хорошо, какой-то код) Настройка этой вкладки:

private TabSpec getFrontPageTab() {

        Intent intent = new Intent(context, ActivityGroupHome.class);
        return tabHost
                .newTabSpec("home")
                .setIndicator(
                        getTabView(R.drawable.tabbar_home, "str_home"))
                .setContent(intent);

    }

ActivityGroupHome:

public class ActivityGroupHome extends ActivityGroupBase {

@Override 
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    ActivityUtils activityUtils = ActivityUtils.getInstance(this);

    activityUtils.addActivityGroup("Home", this);
    activityUtils.startHomeActivity("Home");

} 

}

Методы из ActivityUtils:

public void startHomeActivity(String activityGroupName) {

    if (activityGroupName != null) {

        startHomeActivityForActivityGroup(activityGroupName);

    } else {

        Intent intent = new Intent(context, AsyncMainActivity.class);
        // intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(intent);

    }

}

private void startHomeActivityForActivityGroup(String activityGroupName) {

    ActivityGroupListItem activityGroupItem = activityGroups
            .findGroupByName(activityGroupName);

    if (activityGroupItem != null) {

        Intent intent = new Intent(activityGroupItem.activityGroup,
                AsyncMainActivity.class);

        intent.putExtra(ACTIVITY_GROUP_NAME, activityGroupItem.name);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        View view = activityGroupItem.activityGroup
                .getLocalActivityManager().startActivity("Home", intent)
                .getDecorView();
        activityGroupItem.activityGroup.setContentView(view);
        activityGroupItem.stack.add("Home");

    }

}
...