在 Activity1 繼承共用基底類別後,繼承而來的 Button 點擊無反應;但 Activity2 同樣繼承卻正常。經排查,發現子類別覆寫 onClick(View v) 時未呼叫父類別實作。
在子類別的 onClick() 中加入 super.onClick(v);:
@Override
public void onClick(View v) {
super.onClick(v); // 關鍵:讓父類別處理共用按鈕邏輯
// 子類別自有邏輯...
}
父類別可能在 onClick() 中處理共用按鈕(如返回鍵、選單鍵)的邏輯。子類別覆寫時若不呼叫 super,父類別邏輯便被完全取代,導致按鈕「失效」。
super.xxx(),除非確定要完全取代。final 或未提供擴充點,則需重新設計架構(如改用介面回調)。