Android ViewGroup Удалить вид?

1

У меня есть табуст. Одним из видов вкладок является ViewGroup. Эта группа просмотра управляет двумя различными видами деятельности. Я делаю это, поэтому я могу перемещаться между действиями внутри вкладки. Я добавляю следующие действия:

if (videoViewLive == null)
            videoViewLive = getLocalActivityManager().startActivity("VideoPlayerLive", new Intent(this,VideoPlayerLive.class).
                    addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();

        videoViewLive.setVisibility(View.VISIBLE);
        this.addContentView(videoViewLive, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT));

Каждый из моих видов представления контента получает асинхронные уведомления. То, что я хотел бы сделать, - это как-то удалить вид активности/содержимого, который не используется. Таким образом, по сути, я загружаю контентный вид A, B dies, становится нулевым или каким-либо другим, и наоборот. Я хочу сделать это, потому что способ управления этими взглядами кажется проблематичным. (ошибки при загрузке представления, загрузка другого представления, загрузка первого и т.д.)

Теги:

3 ответа

4

Вы пробовали ViewGroup.removeAllViews()?

0

Я бы попробовал следующий подход:

  //Add OnGlobalLayout Listener using ViewTreeObserver

View rootView = (android.R.id.content);

//Assuming you are managing these two activities inside the ViewGroup
Activity activityA = <someRef Value>;
Activity activityB = <someRef Value>;

rootView.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){
    //try couple of things here
    // 1. determine which activity has focus
    // 2. you could also check position of View on screen to determine which one is active or on the top 
    if (activityA.hasWindowFocus())
    { 
       //do some action --remove other content from ViewGroup
    }
});
0

Это отчасти касается этой проблемы, но почему вы делаете это с помощью отдельных видов деятельности?

Это именно то, что предназначалось для Fragment. На самом деле существует класс, называемый ViewPager входящий в библиотеку поддержки Android (см. Также FragmentStatePagerAdapter), который допускает такое же поведение посредством вкладок (возможно, в ActionBar) или прокрутки. Адаптер автоматически обрабатывает жизненные циклы Fragment при перемещении между ними, все в контексте одного Activity, так что вы можете использовать Activity верхнего уровня для маршрутизации событий и, при необходимости, поддерживать общее состояние.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню