我有一个应用程序向用户呈现一些海滩。有一个列表视图,其中包含每个海滩的名称,当用户按下名称时,它会打开一个带有照片和一些文本的新活动。我创建了一个每个海滩的.java类(相同的复制粘贴代码)和一个常见的.xml文件。有没有更好的方法呢?例如将所有海滩及其文本放在数据库中?
答案 0 :(得分:4)
为什么不在构造函数中实例化同一个类但使用不同的参数? 像这样:
public class Beach{
protected String name;
protected String pathImage;
public Beach(String name, String pathImage){
this.name = name;
this.pathImage = pathImage;
}
}
//Somewhere else in your application...
Beach beach1 = new Beach("Cancun","/images/cancun.png");
Beach beach2 = new Beach("Miami","/images/miami.png");
答案 1 :(得分:2)
我会将海滩信息存储在SQLlite数据库中,然后创建一个知道如何显示数据库信息的海滩视图。这样做的一个问题是,您可能希望构建一个简单的工具,以允许您管理数据库中的信息,这样您就不必通过命令行上的查询来执行此操作。
答案 2 :(得分:0)
你可以创建一个(抽象的)超类Beach.java并让其他海滩扩展该类。这样,您的冗余代码就会减少。
public abstract class Beach{
protected String name;
public Beach(String name){
this.name = name;
}
public abstract String getOtherInfo();
}
public class FirstBeach extends Beach{
public FirstBeach(){
super("FirstBeach");
}
public String getOtherInfo(){
return "someInfo";
}
}