Menetapkan Item Terpilih Spinner mengikut Nilai
Apabila mengemas kini paparan, anda mungkin menghadapi keperluan untuk prapilih nilai yang disimpan dalam pangkalan data untuk sebuah Spinner. Pada mulanya, anda mungkin mencuba penyelesaian seperti:
void setSpinner(String value) { int pos = getSpinnerField().getAdapter().indexOf(value); getSpinnerField().setSelection(pos); }
Walau bagaimanapun, pendekatan ini menghadapi sekatan jalan kerana antara muka Penyesuai tidak menyediakan kaedah indexOf.
Penyelesaian
Untuk mencari dan membandingkan kedudukan nilai tertentu dalam Spinner anda, ikut langkah berikut:
Buat ArrayAdapter menggunakan sumber yang diperlukan:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
Tetapkan ArrayAdapter sebagai Penyesuai untuk Spinner anda:
mSpinner.setAdapter(adapter);
Gunakan kaedah getPosition untuk menentukan kedudukan nilai perbandingan anda dalam ArrayAdapter:
if (compareValue != null) { int spinnerPosition = adapter.getPosition(compareValue); mSpinner.setSelection(spinnerPosition); }
Dengan mengikuti langkah-langkah ini, anda boleh prapilih nilai secara berkesan dalam Spinner berdasarkan nilainya. daripada kedudukannya dalam senarai.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Item Terpilih secara Pengaturcaraan dalam Pemintal Android mengikut Nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!