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

Android 動態 Button 點擊計數:使用 View Tag 存儲狀態

     編輯:程式設計綜合問答

問題

動態創建的 Button 在 OnClickListener 中需記錄點擊次數,但監聽器無法返回值,局部變量無法持久化。

解決方案:setTag / getTag

Button btn = new Button(context);
btn.setTag(0); // 初始計數

btn.setOnClickListener(v -> {
    int count = (int) v.getTag();
    count++;
    v.setTag(count);
    Log.d("ClickCount", "Button clicked " + count + " times");
});

進階:封裝為輔助類

public class ClickCounter {
    private static final String TAG_KEY = "click_count_tag";

    public static void increment(View view) {
        int count = (int) view.getTag(TAG_KEY);
        view.setTag(TAG_KEY, count + 1);
    }

    public static int getCount(View view) {
        return (int) view.getTag(TAG_KEY);
    }
}

使用 View.setTag(key, value)(API 21+)避免鍵衝突。

總結

View 自帶的 Tag 機制輕量級存儲簡單狀態,無需外部 Map 或數據庫,適合計數、標記等場景。

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