我有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")
给出了对象
(logcat中的toString())。
因此,经过一次又一次的检查,我发现“只有活动
第一个标签(我明确设置了焦点
tabHost.setCurrentTab(0)
)返回非null“,其他选项卡返回null
除非你没有点击那些标签。
当我点击所有标签时,至少我点击所有标签
然后他们getLocalActivityManager().getActivity(anyTag)
返回
object(我正在跟踪toString())。如何从其他人访问活动
选项卡没有单击其他选项卡,因为用户不知道他/她
必须单击选项卡。
请提出一些建议。因为我必须访问活动
我的应用中的标签。
我希望你能理解我的问题。
感谢
答案 0 :(得分:1)
未创建活动!
如果您有n
个标签您可以在onCreate()中执行此操作:
for(int i=n-1;i>0;i--)
tabHost.setCurrentTab(i);
这样,显示的选项卡是第一个选项卡(索引为0),getLocalActivityManager().getActivity(anyTag)
将返回非空
答案 1 :(得分:0)
我可以通过在调用getactivity函数之前设置CurrentTab属性值来获取活动实例而不运行for循环。
即
tabHost.setCurrentTab(i); //i index of anytab activity
getLocalActivityManager().getActivity(anyTag);