首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 多按鈕監聽最佳實踐:統一處理與獲取文本

     編輯:程式設計疑難解答

場景

介面包含大量按鈕(如表格佈局),需實現:點擊任意按鈕,取得該按鈕顯示的文本,避免為每個按鈕單獨 `findViewById` 並註冊監聽。

方案一:Activity 實現 OnClickListener + switch

public class MainActivity extends Activity implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_1:
            case R.id.btn_2:
            case R.id.btn_3:
            // ... 所有按鈕 ID
                String text = ((Button) v).getText().toString();
                // 統一處理 text
                break;
        }
    }
}

在 XML 中為每個按鈕設定 `android:onClick="onClick"` 或在 `onCreate` 循環註冊 `btn.setOnClickListener(this)`。

方案二:使用 Tag 或 ViewBinding 簡化

  • 為按鈕設定 `android:tag` 攜帶業務標識,`onClick` 中取 `v.getTag()`。
  • 配合 ViewBinding/DataBinding 直接引用按鈕陣列,循環註冊 Lambda 監聽。

核心原則

**統一入口、以 ID 或 Tag 區分業務、避免重複樣板代碼**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved