java - 不明白我的 View 的构造函数

标签 java android

我的代码可以正常工作,但我不明白一件事。 我已经开始游戏编程,现在可以使用我的整个 SurfaceView 等。我已经画了一个背景,所以一切正常。

当我创建这个时,我遵循了教程,所以知道我正在评论我自己的语言。 :) 当我现在开始评论一些事情时;我无法摆脱这个,有人可以告诉我为什么我的 View 的构造函数具有 Context 参数和 AttributeSet 参数吗?是什么使得有必要拥有这些以及为什么我需要将 localContext 值设置为我的 GameView 上下文?

游戏

public class Game extends Activity{

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(new GameView(this, null));
}

}

游戏 View

    public GameView(Context localContext, AttributeSet attrSet){
    super(localContext, attrSet);
    context=localContext;
    InitView();
}

InitView();只需初始化我创建的每个对象和变量;如果需要这些东西来向我解释构造函数;我会发布它。

谢谢!

最佳答案

上下文携带着 View 用来操作的一堆状态。这包括配置状态等内容,以帮助资源系统确定在许多其他资源中使用哪些资源。

当您的 View 从 XML 布局扩充时,将使用 AttributeSet。这就是布局膨胀期间 XML 属性绑定(bind)到 View 属性的方式。

关于java - 不明白我的 View 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357888/

相关文章:

java - 如何在JSP中迭代Hashtable

android - 如何在 WindowManager 添加的 View 中捕获按键

android - 从不同的 Activity 方法更新 Activity UI?

java - 谷歌地图 GPS : longitude and latitude returns zero

android - 更改 android 语言本地化时防止更改数字本地化

java - 使用 jdbc 从 mssql 存储过程获取结果

java - 使用 Selenium 自动化 Java Web applet 测试?

需要 java actionlisteners 的建议,Jmenuitems

java - 验证 JMockit 中的部分有序方法调用

android - 如何使用 Retrofit 发送 "fire and forget"异步调用?