采用这通常是一种好习惯吗?
我正在学习这些教程,并进入了实现按钮监听器的部分:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
mTrueButton = (Button) findViewById(R.id.true_button);
//and here is the anonymous inner class
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
我最好学习这种风格,还是有其他方式我应该为了良好的练习而学习这种方法?这似乎与我对OOP的基本理解有点相反,如果有意义的话,事物似乎是......分离和模块化的。
答案 0 :(得分:1)
是的,还有另一种我经常喜欢的方式(特别是在大型项目中),你的类可以实现监听器
所以你的Activity/Fragment
可以这样声明
public class MyActivity implements View.OnClickListener{
和你的视图对象,在这种情况下,按钮会以这种方式设置它的监听器
mTrueButton.setOnClickListener(this)
然后您将拥有另一个名为onClick()
的类,其中所有可点击的视图元素现在都可以拥有其代码
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.true_button:
break;
}
}