在Android App中,我使用的TabBar包含4个标签。我需要获得4个Tabs的所有对象。如何实现这一点,任何建议。
答案 0 :(得分:0)
TabHost.TabSpec spec; // This is the Object of TabBar
Intent intent;
// Single Activity
intent = new Intent().setClass(this, Home.class);
spec = tabHost.newTabSpec(getResources().getString(R.string.Home)).setIndicator(getResources().getString(R.string.Home),res.getDrawable(R.drawable.home)).setContent(intent);
tabHost.addTab(spec);
现在您可以添加不同的标签
答案 1 :(得分:0)
我可以想到两种明显的方法:
LocalActivityManager
(应该在每个ActivityGroup
中提供,因此也可以在TabActivity
)中提供以检索活动。您可以通过调用Activity
getCurrentActivity()
中使用的代码来调用当前选定的TabSpec
或getActivity(String id)
。Map<String, Activity>
。在这两种情况下,您都需要将通用Activity
强制转换为您自己的实现,以便访问您自己的方法。如果活动都应该实现类似的方法,我建议你使用一个声明那些方法的接口,并使用该接口进行转换/映射;例如Map<String, ITabbedActivity>
。
或者,您可以使用每个Activity
的一个成员变量简单地跟踪不同的活动。那样你就可以避免施法。如果您处理超过四个选项卡,我不建议采用这种方法。