b.setOnClickListener(new OnClickListener() { // 此處有語法錯誤:多一個點
// 方法體
});
setOnClickListener 需要一個 OnClickListener 類型參數new OnClickListener() { ... } 創建了實現該接口的匿名內部類實例Listener. 多了一個點,應刪除OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
// 實現邏輯
}
};
b.setOnClickListener(listener);
b.setOnClickListener(v -> {
// 邏輯
});
匿名內部類 = 隱式實例化對象。接口回調模式本質是「傳遞行為對象」。