2015-08-18 23 views
0

这会被推荐的东西,会好起来的事:设置监听器而不定义视图?

findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener{ 

    @Override 
    public void onClick(View v){ 
    //Do something 
    } 

}); 

在:

Button button = (Button) findViewById(R.id.myButton) 

button.setOnClickListener(new View.OnClickListener{ 

    @Override 
    public void onClick(View v){ 
    //Do something 
    } 

}); 

,并没有任何好处(即性能),如果有的话?

+2

第一个代码通常用于快速演示代码,第二个代码用于代码文档,编译项目后两种情况下的性能都相同。 – Santiago

+0

如果你想要按钮只用于onClick事件而不是使用findViewById,只需在属性'android:onClick =“myButtonClick”中的布局xml文件中定义onClick并且只在Activity中定义myButtonClick方法。那就是它..不需要定义视图。再次没有性能问题。 – user370305

回答

0

根本没有任何区别。两者的工作原理都是一样的,性能没有任何不同。但是使用你发布的第二个解决方案在开发应用时更好。第一个解决方案仅用于快速代码或演示使用...