Обмен данными между TabActivity и его подгруппами. Возможный? - PullRequest
1 голос
/ 24 сентября 2011

У меня есть список мест, сохраненных в TabActivity. У TabActivity есть 2 подэтапа: карта и список. Поэтому я хочу получить список местоположений для подзадач, чтобы показать их там. Я знаю, что я могу зафиксировать некоторые данные с намерением, но я всегда хочу зафиксировать данные в текущем подэтапе, если список меняется. Есть ли возможность сделать это?

Для получения более подробной информации, пожалуйста, спросите меня.

Большое спасибо, джо

Ответы [ 2 ]

1 голос
/ 24 сентября 2011

Да, это возможно, Вы можете иметь доступ к подгруппам TabActivity. Вы можете получить текущий активный Activity следующим образом:

говорят, что у вас есть Button (обычно отличное от TabIndicators) где-то в TabActivity, которое вызывает doSomeAction() в своем onClick(), чтобы обновить или изменить содержимое вашего подэтапа. Вы сделаете это так:

//this method is in TabActivity
public void doSomeAction(View button)
{
    Activity currentAct = this.getLocalActivityManager().getCurrentActivity();
    int index = getTabHost().getCurrentTab();
    if(index == 0)
    {
        MyListAct listAct = (MyListAct)currentAct; //MyListAct or any other Sub Activity
        listAct.refreshList(); // refreshList() may be a method to refresh Activity    
    }
    //else you can check for the other Activity
}
0 голосов
/ 24 сентября 2011

Я бы предложил создать статический глобальный контейнер данных и зафиксировать ваши изменения в этом объекте (вы можете очистить и настроить его с помощью жизненного цикла основного действия). Но убедитесь, что вы не пропускаете большие ресурсы, особенно контекстную ссылку.

...