Android ImageView, Button 控制開關,紀錄當前狀態,更改按鈕或圖片背景

類似功能 : ImageView, Button 開啟後保持狀態,再點一下關閉。

假如有五個開關,就定義 int array 來記錄,array Size 定義 [5]

0 是開,1 是關

[0, 0, 0 ,0, 0] -> 狀態是全部關閉

[1, 1, 0, 0, 0] -> 狀態是第1和第2個開關是開啟

(開關數字由左至右分別為1到5)

當點選 ImageView, Button, CheckBox 等元件時,就將對應的 position 值設定成1

* 開啟第1個開關

Flag[0] = 1

* 開啟第5個開關

Flag[4] = 1

可以將 array 定義成全域變數方便使用 Flag = inrArrayOf(0, 0, 0, 0, 0)

詳細操作

如下控制第1個開關 Flag[0]

R.id.imageView0 -> {

    // 第1個開關

    if(Flag[0] == 0) {

    // 若值 int 是 0,表示當前狀態關閉

    // 執行開啟動作

    // 將值設定成1後再更新背景圖片

    setImageResoirce(R.mipmap.open)

    Flag[0] = 1

    } else {

     // 若值 int 是 1,表示當前狀態開啟

     // 執行關閉動作

     // 將值設定成0後再更新背景圖片

     setImageResoirce(R.mipmap.close)

     Flag[0] = 0

    }

}

常見問題

ex : 需要轉換成 True 或 False 該如何操作?

Flag[0] != 0

判斷 != 0。值是1,回傳 True。當前狀態是開啟

判斷 != 0。值是0,回傳 False。當前狀態是關閉

ex : 下次開啟 APP 要記錄?

透過 SharedPreference, DataStore 來做紀錄,或重新要一次最新的資料。

ex : 回傳 Bit 值要注意事項,補 0

https://www.eeaseries.com/2022/06/int-bit-0-java-android-bit.html

後記

如果這篇文章對於你有幫助,可以幫忙分享給更多的人.文章內容如果有誤,可以在下方留言告知.本網站主要提供程式, 玩具相關資訊,可以訂閱獲得最即時的資訊.

留言

熱門文章

TourCard 開通全紀錄 台胞證 支付寶

svn 刪除使者資訊 & 查看使用者帳號密碼

[ 教學 ] 如何使用 Sourcetree 對 Github 進行版本控制 #Mac OS 版本控制