Apakah mungkin untuk mengisi opsi Spinner tepat di tata letak xml? Halaman ini menyarankan saya harus menggunakan ArrayAdapter? Tampaknya canggung tidak bisa melakukannya ..
246
Apakah mungkin untuk mengisi opsi Spinner tepat di tata letak xml? Halaman ini menyarankan saya harus menggunakan ArrayAdapter? Tampaknya canggung tidak bisa melakukannya ..
Saya tidak yakin tentang ini, tetapi mencobanya.
Di strings.xml Anda tentukan:
<string-array name="array_name">
<item>Array Item One</item>
<item>Array Item Two</item>
<item>Array Item Three</item>
</string-array>
Di tata letak Anda:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:entries="@array/array_name"
/>
Saya pernah mendengar ini tidak selalu berhasil pada perancang, tetapi kompilasi baik-baik saja.
android:entryValues="@array/array_name_values"
.drawSelectorOnTop
karena tidak ada pemilih terpisah selain Spinner itu sendiri. Solusinya pasti berhasil, terima kasih!android:entryValues
. ListPreference mendukungnya.Spinner
danAbsSpinner
. Pada API 19 dan 23, konstruktor AbsSpinner menggunakanR.styleable.AbsSpinner_entries
tetapi tidak ada di mana pun mereka gunakanentryValues
. Hanya kebetulan bahwa kode Anda melakukan apa yang Anda harapkan. (Atau mungkin beberapa ROM pabrikan memiliki implementasi Spinner khusus yang benar-benar menanganiandroid:entryValues
?)Tentukan ini di file String.xml Anda dan beri nama array apa yang Anda inginkan, seperti "Bobot"
dan kode ini di layout.xml Anda
Dalam file java Anda,
getActivity
digunakan dalam fragmen; jika Anda menulis kode itu dalam aktivitas, maka hapusgetActivity
.sumber
Berkenaan dengan komentar pertama: Jika Anda melakukan ini, Anda akan mendapatkan kesalahan (di Android Studio). Ini sehubungan dengan itu keluar dari namespace Android. Jika Anda tidak tahu cara memperbaiki kesalahan ini, lihat contoh di bawah ini. Semoga ini membantu!
Contoh -Sebelum:
Contoh - Setelah:
sumber
string-array
memilikiname
atribut, dan tidak mengenaliandroid:name
satu.