0

在 Android 应用程序中,我使用的是由 4 个选项卡组成的 TabBar。我需要获取 4 个选项卡的所有对象。如何实现这一点,任何建议。

4

2 回答 2

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);

现在你可以像这样添加不同的标签

于 2012-04-13T13:42:47.437 回答
0

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

  1. 使用 a LocalActivityManager(应该在每个中可用ActivityGroup,因此也在 中TabActivity)提供的函数来检索活动。您可以Activity通过调用获得当前选择的内容,也可以getCurrentActivity()通过传入用作 : 一部分的标签TabSpec来获取任何内容getActivity(String id)
  2. 针对活动构建您自己的本地标签映射并将其用于查找;例如一个Map<String, Activity>

在这两种情况下,您都需要将泛型Activity转换为您自己的实现,以便访问您自己的方法。如果活动都应该实现类似的方法,我建议您使用声明这些方法的接口,并使用该接口进行转换/映射;例如Map<String, ITabbedActivity>

或者,您可以使用一个成员变量 per 简单地跟踪不同的活动Activity。这样你就可以避免铸造。并不是说如果您要处理四个以上的选项卡,我不建议您采用这种方法。

于 2012-04-13T14:24:43.037 回答