代碼
public void onClick(View v) {
// 1. 確認是 Button(或繼承類)
if (v instanceof Button) {
Button btn = (Button) v;
String text = btn.getText().toString(); // 必須 toString(),getText() 返回 CharSequence
// 使用 text...
}
}
關鍵點
View.OnClickListener.onClick(View v) 參數 **即被點擊的 View**,無需再 `findViewById`。
- 直接強轉為 `Button`(或 `TextView`、`EditText` 等)調用 `getText()`。
- `getText()` 返回 `CharSequence`,習慣調用 `.toString()` 獲取 `String`。
若綁定同一監聽器到多類型 View
public void onClick(View v) {
if (v instanceof Button) {
String text = ((Button)v).getText().toString();
} else if (v instanceof TextView) {
String text = ((TextView)v).getText().toString();
} else if (v instanceof EditText) {
String text = ((EditText)v).getText().toString();
}
}