getLocalActivityManager (). getActivity (tabTag) возвращает NULL - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть 2 вкладки с tagID "tag01" и "tag02". Я явно поставил фокус на первую вкладку путем вызова tabHost.setCurrentTab (0)

Когда я звоню getLocalActivityManager().getActivity("tag01"), я получаю объект деятельности, но когда я звоню

getLocalActivityManager().getActivity("tag02") then i get NULL.
//Log.i("tab status: ", getLocalActivityManager().getActivity("tag02")+""); prints null
//Log.i("tab status: ", getLocalActivityManager().getActivity("tag01")+""); prints com.test.TestActivity@437c06c8

Теперь, когда я снова запустил свое приложение и на этот раз нажмите вторую вкладку, а затем getLocalActivityManager().getActivity("tag02") дает объект (toString () в logcat). Поэтому, проверив его снова и снова, я обнаружил, что «только деятельность в Первая вкладка (что я установил фокус явно tabHost.setCurrentTab(0)) возвращает ненулевое значение ", а другие вкладки возвращают нулевое значение если только вы не нажмете на эту вкладку. Когда я нажимаю на все вкладки, то есть, по крайней мере, я прохожу все вкладки, нажимая их потом getLocalActivityManager().getActivity(anyTag) возвращает объект (я отслеживаю toString ()). Как получить доступ к активности из других вкладки, не нажимая другие вкладки, потому что пользователь не будет знать, что он / она должен нажимать на вкладки. Пожалуйста, дайте несколько предложений. Потому что я должен получить доступ к деятельности в вкладки в моем приложении. Я надеюсь, вы поняли мою проблему.

спасибо

Ответы [ 2 ]

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

Действие не создано!

, если у вас есть n вкладки. Вы можете сделать это в onCreate ():

for(int i=n-1;i>0;i--)
    tabHost.setCurrentTab(i);

Таким образом, отображаемая вкладка являетсяпервая вкладка (с индексом 0) и getLocalActivityManager().getActivity(anyTag) вернет ненулевое

0 голосов
/ 29 апреля 2013

я мог бы получить экземпляр активности без выполнения цикла for, установив значение свойства CurrentTab перед вызовом функции getactivity.

т.е.

tabHost.setCurrentTab(i); //i index of anytab activity
getLocalActivityManager().getActivity(anyTag);
...