我想在OnClickListener
上设置Button
。我应该将其投放到Button
还是将其存入View
?您可以从下面的代码中看到,前者将View
投射到Button
,而后者则以View
的形式使用小部件。后者是否更好,因为它不需要进行铸造,或者只是做同样的事情?
并非我不了解如何在按钮上设置点击监听器。我只想从表现和最佳实践的角度来了解它。
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(listener);

或
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}
View button = findViewById(R.id.button);
button.setOnClickListener(listener);

答案 0 :(得分:2)
相同,您只保存演员表(演出)。
如果您不需要View对象我更喜欢
findViewById(R.id.button).setOnClickListener(listener);
答案 1 :(得分:2)
我相信表现没有区别。您的代码可读性有哪些变化,因此,如果您为按钮设置了clickListener,并且稍后在代码中也使用了按钮实例,则可能需要使用“button”.setOnClickListener。
因为大部分时间你不需要保留点击视图的引用,我建议使用类似ButterKnife
的内容答案 2 :(得分:1)
表现明智,几乎没有区别。为了可读性,我建议使用Button而不是View。
答案 3 :(得分:0)
我非常确定性能上的差异很小,或者只是没有区别。
但是,View和Button之间存在差异。
为了缩短答案并尽可能具体,我会告诉您,如果您希望按钮尽可能为“标准”(至少是Android标准),您应该使用按钮,但如果您想要创建一个自定义按钮,比你应该继续使用View。
为了使它更加清晰,Buttom实际上是一个View,所以当你使用Button时,你实际上使用的是一个为了成为一个按钮而自定义的视图,并且就像一个按钮。
如果您需要更多详细信息,请询问,我会尝试帮助或链接您一些文档。