如何在Android中获取TabBar选项卡的对象?

时间:2012-04-13 13:30:52

标签: android tabbar

在Android App中,我使用的TabBar包含4个标签。我需要获得4个Tabs的所有对象。如何实现这一点,任何建议。

2 个答案:

答案 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)

我可以想到两种明显的方法:

  1. 使用函数a LocalActivityManager(应该在每个ActivityGroup中提供,因此也可以在TabActivity)中提供以检索活动。您可以通过调用Activity getCurrentActivity()中使用的代码来调用当前选定的TabSpecgetActivity(String id)
  2. 根据活动构建自己的标签本地映射,并将其用于查找;例如Map<String, Activity>
  3. 在这两种情况下,您都需要将通用Activity强制转换为您自己的实现,以便访问您自己的方法。如果活动都应该实现类似的方法,我建议你使用一个声明那些方法的接口,并使用该接口进行转换/映射;例如Map<String, ITabbedActivity>

    或者,您可以使用每个Activity的一个成员变量简单地跟踪不同的活动。那样你就可以避免施法。如果您处理超过四个选项卡,我不建议采用这种方法。