示例代码:
public class Button {
private Button lastButton;
private OnClickListener listener;
public void setLastButton(Button button) {
this.lastButton = button;
}
public void setOnClickListener(OnClickListener listener) {
this.listener = listener;
}
public void performClick() {
if (listener != null) {
listener.onClick();
}
if (lastButton != null) {
lastButton.performClick();
}
}
public interface OnClickListener {
void onClick();
}
}
使用方法:
Button button1 = new Button();
Button button2 = new Button();
Button button3 = new Button();
button1.setLastButton(button3);
button2.setLastButton(button3);
button1.setOnClickListener(() -> System.out.println("Button 1 pressed"));
button2.setOnClickListener(() -> System.out.println("Button 2 pressed"));
button3.setOnClickListener(() -> System.out.println("Button 3 pressed"));
button1.performClick(); // 输出:Button 1 pressed、Button 3 pressed、Button 2 pressed、Button 3 pressed、Button 3 pressed
button2.performClick(); // 输出:Button 2 pressed、Button 3 pressed、Button 3 pressed
button3.performClick(); // 输出:Button 3 pressed
以上示例代码中,通过在 Button 类中添加 setLastButton 方法来设置最后一个按钮,然后在 performClick 方法中判断最后一个按钮是否存在,如果存在,则先执行最后一个按钮的点击事件,再执行当前按钮的点击事件。这样就实现了按下当前按钮触发最后一个按钮的点击事件的效果。