我(试图)做一个简单的桌面游戏。它的UI应该非常简单,顶部组件代表电路板本身的图形,在底部,一些TextView
给出一些相关信息(转弯,电路板上的令牌数量,当前播放器,...... )。
我有一个Activity
,其中包含:
Game
成员,负责处理所有逻辑。BoardView
View
延伸TextView
,绘制游戏板,处理互动。BoardView
应显示一些额外的互动。因此,TextView
和Game
个实例需要从其兄弟{{1}}访问信息。我该如何访问它?
答案 0 :(得分:4)
您可以使用相同的BoardView
实例构建类TextView
和Game
,
Game game = new Game();
BoardView board = new BoardView(game);
TextView text = new TextView(game);
或使Game
成为拥有自己实例的单身人士。
public class Game{
private Game game;
//private constructor
private Game(){};
//synchronised method to create a game instance
private synchronized static void createInstance () {
if (game == null) game = new Game ();
}
public static void getInstance(){
if(game==null){
createInstance();
}
return game;
}
然后你可以通过调用
在两个类中获得相同的游戏实例Game game = Game.getInstance();
答案 1 :(得分:1)
本杰明的答案就是你需要的。 您可以尝试使用建议here
的实现的MVC模式