android-多的onClick监听器的一个按钮 [英] android- multi onClick listener in one button
问题描述
我有一个像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屋!