私のタイトルについてお詫び申し上げます。問題を適切に表現するのに苦労しています。
OnCLickListener
私は2つの方法で実装されているのを見てきました。1 つ目は、クラスが を実装していることを示すことによって行われますOnCLickListener
。2 つ目は、自分で宣言することでタスクを達成します。
this
最初のオプションでは引数として簡単に入力できるのに、2 番目のオプションでは自分でオブジェクトsetOnCLickListener
を作成するという手間がかかるのはなぜですか?OnClickListener
最初:
public class WidgetConfig extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widgetconfig);
Button b = (Button)findViewById(R.id.bwidgetconfig);
b.setOnClickListener(this);
}
//onClick defined outside of the onCreate
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
二番目:
public class WidgetConfig extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.widgetconfig);
Button b = (Button)findViewById(R.id.bwidgetconfig);
b.setOnClickListener(bListener);
}
private Button bListener = new OnClickListener(){
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//TO-DO
}
});