Android选项卡和全局变量



我使用的是android TabWidget,我有一个主要活动,管理所有选项卡。每个选项卡都有自己的活动:

private void setTabs()
{
    addTab("News", NewsActivity.class);
    addTab("Project", ProjectActivity.class);
    addTab("About", AboutActivity.class);
    addTab("Contact", ContactActivity.class);
}

每个选项卡的数据都是以JSON格式从服务器下载的。我的目标是下载应用程序的oppening上的所有数据,然后将其用于每个选项卡(活动)。

是否有可能将主活动中的这些变量共享给我管理选项卡的其他人?我知道使用Intent类,但可能还有另一个更简单的选项卡解决方案。

非常感谢。

在主活动中声明静态变量并将数据存储在其中。

例如,public static integer myInt;

myInt = ...;

现在,当您转到其他"活动"时,只需使用MainActivity.myInt即可访问其值,甚至可以根据需要进行更新。无需使用intets传递变量。

您可以创建一个类,其中包含您可能希望在整个应用程序中使用的任何变量或对象。

public class myClass {
    private static int myInt;
    public static void setMyInt(int i)
    {
        myInt = i;
    }
    public static int getMyInt()
    {
        return myInt;
    }
}

然后,您可以从任何地方设置任何变量,并在任何地方使用它。

myClass.setMyInt(10);
int i = myClass.getMyInt();

您可能想要创建class MyAppication extends Application(您还必须将其添加到Manifest中)。这个MyApplication类将在应用程序运行的所有时间都存在,因此您可以在其中存储内容。

我认为最好将碎片用于您的目的。。

您有一个主活动,它有一个tabhost/tabwidget和一个显示每个片段的布局。。

根据当前选择的选项卡,您可以在布局中显示相应的片段。

这样,您的主要活动就可以拥有片段需要使用的任何变量数据。

所有片段都可以访问它们所显示的活动中的数据,只需确保创建getter和setter

相关内容

  • 没有找到相关文章

最新更新