」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Android 中按值而不是位置設定微調器的選擇?

如何在 Android 中按值而不是位置設定微調器的選擇?

發佈於2024-11-10
瀏覽:153

How to Set a Spinner\'s Selection by Value, Not Position in Android?

按值而非位置設定Spinner 的選擇

更新視圖且Spinner 的選擇必須與資料庫中儲存的值相符時,傳統的做法是使用Adapter上的indexOf方法來定位對應的位置。然而,這種方法遇到了障礙,因為 Adapter 沒有提供這樣的方法。

要克服這個挑戰,更合適的方法是利用 ArrayAdapter 的 getPosition 方法。當與合適的 ArrayAdapter 配對時,此方法可以識別與特定值關聯的位置。

考慮一個場景,其中名為 mSpinner 的 Spinner 包含「某個值」的值。要定位並比較其位置,請按照以下步驟操作:

從資源檔案R.array.select_state 建立ArrayAdapter:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);

設定 Spinner 的適配器和 DropDownViewResource:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

接下來,如果要比較的值(compareValue)不為null:

if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

透過採用此方法,可以根據資料庫中儲存的值準確地設定 Spinner 的選擇,從而在視圖更新期間提供無縫的使用者體驗。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3