|
O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injineringi fakulteti
|
bet | 6/8 | Sana | 14.05.2024 | Hajmi | 119,5 Kb. | | #232678 |
Bog'liq Masharipov SanatbekAndroid Studioda spinner
Spinnerlar to'plamdan bitta qiymatni tanlashning tezkor usulini ta'minlaydi. Standart holatda spinner o'zining joriy tanlangan qiymatini ko'rsatadi. Spinnerga tegish foydalanuvchi tanlashi mumkin bo'lgan barcha boshqa qiymatlarni ko'rsatadigan menyuni ko'rsatadi.
Spinner ob'ekti yordamida o'z maketingizga spinner qo'shishingiz mumkin, uni odatda XML tartibida elementi bilan qilasiz. Bu quyidagi misolda ko'rsatilgan:
android:id="@+id/planets_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Spinnerni tanlovlar ro'yxati bilan to'ldirish uchun Activity yoki Fragment manba kodida SpinnerAdapterni belgilang.
Agar siz Material Design komponentlaridan foydalansangiz, ochiladigan ochiladigan menyular Spinnerga teng.
Spinnerni foydalanuvchi tanlovlari bilan to'ldiring
Spinner uchun taqdim etgan tanlovlar har qanday manbadan olinishi mumkin, lekin ularni SpinnerAdapter orqali taqdim etishingiz kerak, masalan, agar tanlovlar massivda mavjud bo‘lsa, ArrayAdapter yoki agar tanlovlar ma’lumotlar bazasi so‘rovida mavjud bo‘lsa, CursorAdapter.
Misol uchun, agar spinneringiz uchun mavjud tanlovlar oldindan belgilab qo'yilgan bo'lsa, siz ularni string resurs faylida belgilangan qatorlar qatori bilan ta'minlashingiz mumkin:
- Mercury
- Venus
- Earth
- Mars
- Jupiter
- Saturn
- Uranus
- Neptune
Bunday massiv bilan ArrayAdapter misoli yordamida spinnerni massiv bilan ta'minlash uchun Faoliyat yoki Fragmentda quyidagi koddan foydalanishingiz mumkin:
val spinner: Spinner = findViewById(R.id.planets_spinner)
// Create an ArrayAdapter using the string array and a default spinner layout.
ArrayAdapter.createFromResource(
this,
R.array.planets_array,
android.R.layout.simple_spinner_item
).also { adapter ->
// Specify the layout to use when the list of choices appears.
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
// Apply the adapter to the spinner.
spinner.adapter = adapter
}
createFromResource() usuli qatorlar qatoridan ArrayAdapter yaratish imkonini beradi. Ushbu usulning uchinchi argumenti tanlangan tanlovning spinner boshqaruvida qanday paydo bo'lishini belgilaydigan tartib resursidir. Platforma simple_spinner_item tartibini taqdim etadi. Spinnerning tashqi ko'rinishi uchun o'z tartibingizni belgilashni xohlamasangiz, bu standart tartib.
Spinner tanlovlari ro'yxatini ko'rsatish uchun adapter foydalanadigan tartibni belgilash uchun setDropDownViewResource(int) ga qo'ng'iroq qiling. simple_spinner_dropdown_item - platforma tomonidan belgilangan yana bir standart tartib.
Adapterni Spinner-ga qo'llash uchun setAdapter() ga qo'ng'iroq qiling.
Foydalanuvchi spinner menyusidan elementni tanlaganida, Spinner ob'ekti element bo'yicha tanlangan voqeani oladi.
Spinner uchun tanlov hodisasi ishlov beruvchisini aniqlash uchun AdapterView.OnItemSelectedListener interfeysi va mos keladigan onItemSelected() qayta qo'ng'iroq qilish usulini qo'llang. Masalan, Faoliyatdagi interfeysni amalga oshirish:
class SpinnerActivity : Activity(), AdapterView.OnItemSelectedListener {
...
override fun onItemSelected(parent: AdapterView<*>, view: View?, pos: Int, id: Long) {
// An item is selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos).
}
override fun onNothingSelected(parent: AdapterView<*>) {
// Another interface callback.
}
}
AdapterView.OnItemSelectedListener interfeysi onItemSelected() va onNothingSelected() qayta qo‘ng‘iroq qilish usullarini talab qiladi.
Qo'ng'iroq qilish orqali interfeysni amalga oshirishni belgilang
val spinner: Spinner = findViewById(R.id.planets_spinner)
spinner.onItemSelectedListener = this
Agar siz avvalgi misoldagi kabi AdapterView.OnItemSelectedListener interfeysini Faoliyatingiz yoki Fragmentingiz bilan amalga oshirsangiz, buni interfeys namunasi sifatida topshirishingiz mumkin.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injineringi fakulteti
|