不明白我的View的构造函数

时间:2010-07-28 22:00:04

标签: java android

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

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

游戏

public class Game extends Activity{

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

}

GameView

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

Context带有一堆状态,View使用它来操作。这包括诸如配置状态之类的东西,以帮助资源系统确定在许多其他资源中使用哪些资源。

当您的视图从XML布局中膨胀时,将使用AttributeSet。这是XML属性在布局膨胀期间绑定到视图属性的方式。