Rumah >Java >javaTutorial >Bagaimana untuk Menetapkan Pemilihan Spinner mengikut Nilai, Bukan Kedudukan dalam Android?

Bagaimana untuk Menetapkan Pemilihan Spinner mengikut Nilai, Bukan Kedudukan dalam Android?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 03:13:02480semak imbas

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

Menetapkan Pemilihan Spinner mengikut Nilai, Bukan Kedudukan

Apabila mengemas kini paparan dan pemilihan Spinner mesti sepadan dengan nilai yang disimpan dalam pangkalan data, pendekatan konvensional adalah untuk mencari kedudukan yang sepadan menggunakan kaedah indexOf pada Adapter. Walau bagaimanapun, pendekatan ini menghadapi sekatan jalan kerana Penyesuai tidak menyediakan kaedah sedemikian.

Untuk mengatasi cabaran ini, pendekatan yang lebih sesuai ialah menggunakan kaedah getPosition ArrayAdapter. Kaedah ini, apabila dipasangkan dengan ArrayAdapter yang sesuai, membolehkan pengecaman kedudukan yang dikaitkan dengan nilai tertentu.

Pertimbangkan senario di mana Spinner bernama mSpinner mengandungi nilai "beberapa nilai". Untuk mencari dan membandingkan kedudukannya, ikuti langkah berikut:

Buat ArrayAdapter daripada fail sumber R.array.select_state:

<code class="java">ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);</code>

Tetapkan Penyesuai Spinner dan DropDownViewResource:

<code class="java">adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);</code>

Seterusnya, jika nilai yang hendak dibandingkan (compareValue) bukan batal:

<code class="java">if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}</code>

Dengan menggunakan pendekatan ini, pemilihan Spinner boleh ditetapkan dengan tepat berdasarkan nilai yang disimpan dalam pangkalan data, menyediakan pengalaman pengguna yang lancar semasa kemas kini paparan.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Pemilihan Spinner mengikut Nilai, Bukan Kedudukan dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn