Attaching multiple listeners to views in android?

前端 未结 4 468
囚心锁ツ
囚心锁ツ 2020-12-16 10:23

Is it possible to attach multiple onClick listeners to buttons in android? Example:

btn1.setOnClickListener(listener1);
btn1.setOnCliclListener(listener2);
         


        
相关标签:
4条回答
  • 2020-12-16 10:48

    Should someone bump into a similar problem, try this out:

    private void setClickListeners(View view, List<View.OnClickListener> clickListeners){
        view.setOnClickListener(v -> {
            for(View.OnClickListener listener: clickListeners){
                listener.onClick(v);
            }
        });
    }
    
    0 讨论(0)
  • 2020-12-16 10:49

    Android only supports one registered listener in general. However, you can easily create a listener that simply forwards the events to other listeners using the composite pattern.

    0 讨论(0)
  • 2020-12-16 11:01

    Nope, for example just do this :

    Set Listener:

    btn.setOnClickListener(this);
    

    Implement Method:

    public void Onclick(View arg0){
    
       // check your id and do what you want
    }
    
    0 讨论(0)
  • 2020-12-16 11:04
    public void onClick(View v) {
        if(v.getId() == R.id.button1) {
            // do this
        }else if(v.getId() == R.id.button2) {
            // do that
        }
    }
    
    0 讨论(0)
提交回复
热议问题