public class EmployeeActivity extends Activity implements OnClickListener
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnUpdate = (Button)findViewById(R.id.btnUpdate);
Button btnEdit = (Button)findViewById(R.id.btnEdit);
btnUpdate.setOnClickListener(this);
btnEdit.setOnClickListener(this);
@Override
public void onClick(View v) {
if (v == btnAddEmployee)
{}
if (v == btnUpdate)
{}
}
/- 第二 -/
public class EmployeeActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnUpdate = (Button)findViewById(R.id.btnUpdate);
Button btnEdit = (Button)findViewById(R.id.btnEdit);
btnUpdate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
btnEdit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
}
哪一种是在 Android 中实现 OnClickListener 接口的最佳方式
这完全取决于什么最适合您作为开发人员。它们的工作原理都是一样的,您甚至还有另一种选择来声明onClick在 XML 中。我喜欢第一个,特别是如果你有多个Button您想要共享功能。但完成第一个任务的更好方法是switch on the id of the View被点击。就像是
@Override
public void onClick(View v) {
int id = v.getId();
switch (id)
{
case R.id.btnUpdate:
// do work
break;
case R.id.btnEdit
// do work for edit button
break;
}
// put shared functionality code like starting an Activity, calling a method, etc...
}