这是使用外部类
的示例public class MyActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
findViewById(R.id.myid).setOnClickListener(this));
}
public void onClick(View v){...}
}
这是匿名类的一个例子
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
findViewById(R.id.myid).setOnClickListener(new OnClickListener() {
public void onClick(View v){...}
}));
}
}
答案 0 :(得分:5)
在Android中,性能和效率是一个更重要的考虑因素。有些东西被认为是半生不熟的优化工作,有时在android中有意义。(就像我们不应该使用枚举而是java int枚举模式)。所以对你的问题的答案是。
如果必须注册多个onClick侦听器,请实现接口并在其中使用switch case。
如果您只需要在Click侦听器上注册一个,请使用匿名类。 (Android开发人员尽可能选择匿名类。限制范围;))