2

在我的应用程序中,每个activity. 基本上我有一个ImageView页脚,它可以从中获取图像(添加图像)Web service并在一段时间间隔后更改图像(如滑动添加)。我正在做的是在每个活动中添加页脚并在每个活动中调用 Web 服务以将图像加载到ImageView其中(这对我的应用程序来说将是一个非常繁重的处理,因为我的应用程序Java classes(Activities)中有很多),所以我的问题是......在android中有什么方法可以为整个应用程序添加页脚吗?就像我first activity在底部添加页脚一样,现在如果我移动到second activity, third activity等等......页脚将仍然存在,我在first activity. (与使用 iPhone 相同Navigation controller

提前致谢

4

2 回答 2

2

制作一个要在应用程序的所有屏幕上显示的页脚 xml 文件,然后按照以下步骤操作:

创建一个 Footer.java 活动

public class Footer extends Activity {
        public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.footer);
        }
 }

然后在另一个类上扩展该类以供使用,如下所示:

public class Test extends Footer 
{
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            ViewGroup vg = (ViewGroup) findViewById(R.id.lldata);
            ViewGroup.inflate(Home.this, R.layout.test, vg);
        }
}
于 2013-10-09T07:01:17.070 回答
2

以编程方式创建您的视图,然后将其存储在可以在整个应用程序中访问的单例对象中,这将避免每次都必须创建一个新视图。

单例类示例:

public class MySingleFooter{
MySingleFooter mySingleFooter;
View myFooter;

private MySingleFooter(){}

public static MySingleFooter getInstance()
{
if (mySingleFooter == null)
    {
    mySingleFooter = new MySingleFooter();
    }

return mySingleFooter;
}

void setFooter(View myFooter)
{
    this.myFooter = myFooter;
}

View getFooter()
{
    return myFooter;
}}

您可以设置所有活动的页脚,如下所示:

MySingleFooter footerStore = MySingleFooter.getInstance(); footerStore.setFooter(thefooter);

您可以从所有活动中检索页脚,如下所示:

MySingleFooter footerStore = MySingleFooter.getInstance(); View myview = footerStore.getFooter(thefooter);

然后以编程方式将其添加到当前活动中。

于 2013-10-10T05:55:29.370 回答