2017-11-12 19 views
3

使用する2つの方法がありますアンドロイドスタジオのOnClickイベント。OnClickイベントを使用する最も良い方法は何ですか?

Btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     } 
    }; 

第二の方法は最初の方法である、MainActivity

Btn.setOnClickListener(this); 

とオーバーライドメソッドのonClick

@Override 
    public void onClick(View v) { 
     switch(v.getId()) { 
      case R.id.button1: 
      // do stuff; 
      break; 
      case R.id.button2: 
      // do stuff; 
      break; 
     ... 
    } 

2以上から最良かつ最も効率的な方法は何ですか?

+2

これには答えはありません。それはあなたのユースケースによって異なります。また、最初の文字をケースに入れた更新でObjectインスタンスを呼び出さないでください。 Btnの代わりにボタンが必要です。 – JoxTraex

+0

多くのクリック可能なアイテムがあれば、インターフェースを実装するのがよい方法です。 [This](https://stackoverflow.com/questions/19718353/is-repeatedly-instantiating-an-anonymous-class-wasteful)スレッドを読んでください。あなたはそのアイデアを得るでしょう。 – ADM

答えて

2

どちらも良好です。上記の方法で間違っているものはありません。しかし、私はスイッチステートメントで2番目の方が好きです。もう1つのビューでクリックイベントを聴く必要がある場合、ビューのClickイベントを聴いたり、2つ目のイベントを聴きたい場合は、最初のものを使用します。 注:clickイベントが(最初の例で実装したように)匿名の方法を実装する以上のものであれば、コード行が大幅に増加します。退屈で、コードを維持するのが難しくなります。しかし、他の開発者はこれで快適に感じるかもしれません。

関連する問題