初學Android,新手大都傾向使用匿名類的方式注冊監聽器,
如下:
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 在此處添加邏輯 }
}); }
}
這樣雖然方便,但當監聽方法較多時會導致結構混亂,
下面是實現接口方式注冊監聽器:
public class MainActivity extends Activity implements OnClickListener {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
// 在此處添加邏輯
break;
default:
break; }
} }
這樣即使監聽方法較多時結構也較為清晰。
