在我的应用程序中,每个activity
都有一个页脚。基本上我有一个ImageView
页脚从Web service
获取图像(添加图像)并在一段时间间隔后更改图像(如滑动添加)。我正在做的是在每个活动中添加页脚并在每个活动中调用Web服务以将图像加载到ImageView
(这对我的应用程序来说将是一个非常繁重的处理,因为我的许多Java classes(Activities)
app),所以我的问题是......
在android中我有什么方法可以为整个应用程序添加页脚?就像我在底部的first activity
添加一个页脚,现在如果我移动到second activity, third activity
等等......页脚仍然会在first activity
中添加}。 (与使用iPhone Navigation controller
相同)
提前致谢
答案 0 :(得分: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);
}
}
答案 1 :(得分:2)
以编程方式创建视图,然后将其存储在可在整个应用程序中访问的单个对象中,这样可以避免每次都创建新视图。
Singleton类示例:
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);
然后以编程方式将其添加到当前活动中。