【发布时间】:2013-11-06 03:19:36
【问题描述】:
我工作的公司要求我将他们的网站转换为 Android 应用。我既不是 Java 专家,也不是 Android SDK 专家。所以我不知道我在这里有什么选择。
应用程序如下所示:
所以页眉(除了标题)和页脚总是不变的。 当点击页脚按钮时,红色部分会变为相关页面。
我知道我不应该问“什么是解决这个问题的最佳方法”之类的问题。那么,我该怎么做呢?
现在我正在做的是:
两个静态布局(没有活动类):header.xml 和 footer.xml。我在活动布局中<include>他们(如 about_us.xml)。 footer.xml 有按钮,这些按钮与onClick 事件挂钩。按钮类似于 home、about us、references、contact。 onClick 事件类似于 "load_Page_AboutUs"
所以每个页面(活动)有 4 个函数可以加载。这也是我猜的一个问题。如果有办法做到这一点:load_page(String activity_name) 我会喜欢的。
但真正的问题是:
我必须在所有活动中定义所有load_page_x 函数。
所以如果我有 4 个活动,我会在 4 个不同的活动中定义以下函数:
public void load_page_about(View view)
{
Intent i = bla();
startActivity(i);
}
public void load_page_references(View view)
{
Intent i = bla();
startActivity(i);
}
// etc..
这组函数定义存在于所有 4 个活动中。所以我认为我在这里做错了什么。我将不胜感激任何帮助引导我走向正确的方向。最后:
我想要的是:
- 页脚的单一布局 (xml)
- 可以处理页脚按钮
onClick的单个活动类 - 同样适用于标题。并以编程方式更改其标题(或从 xml,如果可能)
也许我应该将页面内容部分设计为 .xml 文件并以编程方式将它们包含在 main_layout.xml 中,是否正确?我该怎么做?
感谢您的帮助!
【问题讨论】:
-
你可以为你的活动使用一个通用的基类。把常用的函数放在那里。
-
@Henry 谢谢!我尝试将函数放在 MainActivity 中,但我无法调用 MainActivity 函数,除非有静态函数。而且我不能在静态方法中使用 startActivity。有什么解决方法吗?等一下。你是说我不应该扩展Activity,而是扩展MyExtendedActivity?这是天才!如果有效:)
-
+1 henry,详述 Henry 的评论。创建一个超类扩展活动并将所有常用方法放在那里,现在所有 4 个活动都必须扩展到这个超类。都是继承。
-
好的,感谢您的帮助。我很感激。所以我想只剩下以编程方式更改标题的标题了,有什么建议吗?
-
stackoverflow.com/q/14133727/2724626 访问此。它一定会帮助你。
标签: android xml eclipse android-layout android-sdk-tools