android:每次单击按钮时调用一个方法

android:每次单击按钮时调用一个方法,android,button,Android,Button,我想创建一个类,它扩展Button并实现一个方法,当单击按钮时,该方法总是被调用。但我还是希望它能被调用。 我的想法是在调用构造函数或setOnClickListener时将OnClickListener保存到私有成员中,然后将OnClickListener设置为我自己的OnClickListener。然后,这个将调用我的方法和保存的onclick侦听器。 但我不知道如何获得OnClickListenr,我只知道如何设置它。 有办法进入吗? 还是你有更好的主意?(无论是在OnClickListe

我想创建一个类,它扩展Button并实现一个方法,当单击按钮时,该方法总是被调用。但我还是希望它能被调用。 我的想法是在调用构造函数或setOnClickListener时将OnClickListener保存到私有成员中,然后将OnClickListener设置为我自己的OnClickListener。然后,这个将调用我的方法和保存的onclick侦听器。 但我不知道如何获得OnClickListenr,我只知道如何设置它。 有办法进入吗?
还是你有更好的主意?(无论是在OnClickListener之前还是之后调用我的方法都无关紧要)

我想您可以这样做:

public class OnceClickedTwiceRunButton extends Button{

public OnceClickedTwiceRunButton(Context context) {
    super(context);
}

public OnceClickedTwiceRunButton(Context context, AttributeSet attrs) {
    super(context, attrs);      
}

public OnceClickedTwiceRunButton(Context context, AttributeSet attrs, int defStyleAttr) {

    super(context, attrs, defStyleAttr);
}

private OnClickListener extraClickMethod;

@Override
public void setOnClickListener(OnClickListener newListener)
{  
    super.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            DefaultClickMethod(v);

            if(extraClickMethod != null)  
            {
                extraClickMethod.onClick(v);
            }
        }           
    });
    extraClickMethod = newListener;
}
private void DefaultClickMethod(View v)
{
    //TODO
}
}

看看下面的例子,那又怎样?这只显示如何设置OnClickListener,而不是如何获取它。。。