java - Android/Java(?) - 从子访问父

标签 java android

我正在(尝试)制作一个简单的棋盘游戏。它的 UI 应该非常简单,一个顶部组件代表棋盘本身的绘图,在底部,一些 TextView 提供一些相关信息(回合,棋盘上的 token 数量,当前玩家, ...).

我有一个Activity,其中:

  • Game 成员,处理所有逻辑。
  • BoardView 扩展 View,用于绘制处理交互的游戏板。
  • TextView 应显示一些额外的交互。

因此 BoardViewTextView 实例需要从它们的兄弟 Game 访问信息。我该如何访问它?

最佳答案

您可以使用相同的 Game 实例构造 BoardViewTextView 类,

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();

关于java - Android/Java(?) - 从子访问父,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293736/

相关文章:

android - NestedScrollViewLayout 内的 SwipeRefreshLayout 内的 RecyclerView 无法滚动

android - SQLITE DB 按字符串格式的日期字段排序查询

安卓 : WebView onPageFinished not calling after shouldOverrideUrlLoading method in android 4. 4

java - 使用 JSON Java 检索嵌套数组值

java - 如果用户在 mysql 长查询中间关闭页面怎么办?

java - 如何在java中使用多个服务器以相同的顺序处理队列中的消息

java - Hibernate 一对一条件获取

android - 这个 Parcelable 对象传递有什么问题?

java - 程序执行和GUI

android - 在 Android 中无需 root 访问 ARP 表