Я создал специальный компонент, например Mybutton.java , и установил прослушиватель onclick в Mybutton.java.
Теперь в моем новом действии я должен вызвать Mybutton и добавить контент в прослушиватель onclick.
Однако, если я использую OnClickListener mClickListener = new OnClickListener () {......
, он заменит старый контент.
Я надеюсь, что сможет. старый и новый слушатель вместе.
Я искал некоторую информацию и выяснил, что могу реализовать этот метод. После многих попыток я все еще получаю ошибки.
Кто-нибудь может дать мне простой пример , который я могу научить его изменять?
Вы можете создать свой собственный класс Button
примерно так:
public class MyButton extends Button {
private CustomOnClickListener mCustomOnClickListener;
public interface CustomOnClickListener {
void onClick(View v);
}
public MyButton(Context context) {
super(context);
// Set your own onClickListener
View.OnClickListener ocl = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do whatever you want to do
// Invoke the other added onclick listener
if(mCustomOnClickListener != null) {
mCustomOnClickListener.onClick(v);
}
}
};
setOnClickListener(ocl);
}
// use this function to set the other onclick listener
public void setCustomOnClickListener(CustomOnClickListener cl) {
mCustomOnClickListener = cl;
}
}
и использовать его так:
// create your button
MyButton button = new MyButton(context);
// add your custom onClickListener
button.setCustomOnClickListener(new MyButton.CustomOnClickListener() {
@Override
public void onClick(View v) {
// Do whatever you intend to do after the actual onClickListener
// from MyButton class has been invoked.
}
});