我正在尝试将信息(更具体地说,是包含信息的类)从一个活动传递到另一个活动。在我的应用程序中,我有一个启动屏幕,负责加载和初始化变量。目标是将这些信息传递给实际的游戏本身,以便可以使用,但我不知道如何做到这一点。在我的启动屏幕类中,我有这个方法,负责在所有内容加载完成后从启动屏幕跳转到游戏:
private void moveToGame() {
loop.setRunning(false);
act.startActivity(new Intent(splash, MainActivity.class));
act.finish();
return;
}
主要的活动类然后有这行代码来进入实际游戏:
setContentView(new Environment(this, this));
Environment
类的构造函数是Environment(Context context, Activity act)
目标是将构造函数更改为Environment(Context context, ActivityAct, LoadInfo li)
,但是如何将信息传递到Environment
构造函数呢?
编辑1 - LoadInfo类
public class LoadInfo {
private HashMap<String, Typeface> fonts;
private HashMap<String, Image> images;
private File logFile;
private File settingsFile;
private File gameDir;
public LoadInfo() {}
public LoadInfo(HashMap<String, Typeface> fonts, HashMap<String, Image> images, File logFile, File settingsFile, File gameDir) {
this.fonts = fonts;
this.images = images;
this.logFile = logFile;
this.settingsFile = settingsFile;
this.gameDir = gameDir;
}
public HashMap<String, Typeface> getFonts() {
return fonts;
}
public HashMap<String, Image> getImages() {
return images;
}
public File getLogFile() {
return logFile;
}
public File getSettingsFile() {
return settingsFile;
}
public File getGameDir() {
return gameDir;
}
public void setFonts(HashMap<String, Typeface> fonts) {
this.fonts = fonts;
}
public void setImages(HashMap<String, Image> images) {
this.images = images;
}
public void setLogFile(File logFile) {
this.logFile = logFile;
}
public void setGameDir(File gameDir) {
this.gameDir = gameDir;
}
public void setSettingsFile(File settingsFile) {
this.settingsFile = settingsFile;
}
public boolean fullyLoaded() {
return fonts != null && images != null && logFile != null && gameDir != null && settingsFile != null;
}
public String toString() {
if(logFile == null)
return "well no file to load";
return logFile.toString();
}
}
public int getValue()
,然后返回在启动画面期间初始化的值。 - Ryan