android-多的onClick监听器的一个按钮 [英] android- multi onClick listener in one button

查看:157
本文介绍了android-多的onClick监听器的一个按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像Mybutton.java疯狂的自定义组件 我已经在Mybutton.java设置的onclick监听器

I have mad a custom component like Mybutton.java and I have set a onclick listener in Mybutton.java

现在,在我的新的活动,我得叫为myButton 并添加的onclick监听内容 但如果使用OnClickListener mClickListener =新OnClickListener(){...... 它将取代旧的内容 我希望它可以做旧的和新的听众一起

now, in my new activity, i have to call a Mybutton and add content in onclick listener but if a use OnClickListener mClickListener = new OnClickListener(){...... it will replace the old content i hope it can do the old and new listener together

我有搜索一些信息,即我有我可以使用的实现方法 但我尝试了很多次,它仍然是错误的。

i have search some information, that i got i can use implement method but i try many times, it's still errors

谁能给我一个简单的例子 我可以学习如何修改

can anyone give me a simple example that i can learn to modify it

THX了很多

推荐答案

我不认为有Android的API,允许多个的onClick 听众的API。你需要处理一个()一些自定义类的onClick并传递处理它调用。事情是这样的:

I don't think there's an API in the Android API that allows multiple onClick listeners. You'd need some custom class that handles a single onClick() and pass in handlers for it to call. Something like this:

private class CompositeOnClickListener implements View.OnClickListener{
    List<View.OnClickListener> listeners;

    public CompositeOnClickListener(){
        listeners = new ArrayList<View.OnClickListener>();
    }

    public void addOnClickListener(View.OnClickListener listener){
        listeners.add(listener);
    }

    @Override
    public void onClick(View v){
       for(View.OnClickListener listener : listeners){
          listener.onClick(v);
       }
    }
}

当你设置你的按钮,这样做:

When your setting your buttons, do:

CompositeOnClickListener groupListener = new CompositeOnClickListener();
myButton.setOnClickListener(groupListener);

然后,每当你想添加一个监听器,只需拨打

Then, whenever you want to add another listener, just call

groupListener.addOnClickListener(new View.OnClickListener(){
   @Override
   public void onClick(View v){
      **** Custom implementation ****
   }
});

这篇关于android-多的onClick监听器的一个按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆