使用新按钮(这个)的好处是什么?

时间:2015-08-29 02:32:41

标签: java android

ConditonA:

//declare mybutton object and point to null;
Button mybutton ; 
//mybutton point to the instance of layout_button
mybutton = (Button)findViewByid(R.id.layout_button);

CondtionB:

//declare mybutton object and point to new Button object;
Button mybutton = new Button(this);
//mybutton repoint to the instance of layout_button
mybutton = (Button)findViewByid(R.id.layout_button);
// previous new Button(this) should be recycle??

大家好 如上例所示,我发现许多示例代码使用条件B,但我不知道它的好处是什么。它应该导致垃圾???

1 个答案:

答案 0 :(得分:2)

在活动中调用时,“this”提供当前上下文,因此它与执行相同:

Button = new Button(getContext());

当您从头开始创建按钮时,可以使用此构造函数。但是,如果您已经在XML中声明了按钮,则可以使用findViewByid(R.id.my_button_id_here)代替,这将找到已在XML中定义的按钮。因此,在您的第二个示例中,您不需要new Button(this),因为它被下一行中的findViewByid语句覆盖。

Here您可以看到Android仅将findViewByid用于XML中定义的按钮。 Here您可以看到如何使用上下文构造函数创建未在XML中定义的按钮。