مدیریت کاربران مشترک
بروز خطا
امتیازات دریافتی
SpinnerAdapter
نمونه SpinnerAdapter برای فهرست انتخاب اندروید؛ همراه با کد Adapter، داده و نمونه استفاده.
کد اسنیپ
نویسه: ۰
واژه: ۰
خط: ۰
حساب
در حال دریافت فهرست آموزشها…
نمونه SpinnerAdapter برای فهرست انتخاب اندروید؛ همراه با کد Adapter، داده و نمونه استفاده.
package com.example.myapplication
import android.content.Context
import android.graphics.PorterDuff
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
class SpinnerAdvanceAdapter(
private val context: Context,
private val colors: ArrayList<com.example.myapplication.Color>
) :
BaseAdapter() {
private val inflater = LayoutInflater.from(context)
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val view: View
val viewHolder: ItemHolder
if (convertView == null) {
view = inflater.inflate(R.layout.drop_down_view, parent, false)
viewHolder = ItemHolder(view)
view.tag = viewHolder
} else {
view = convertView
viewHolder = view.tag as ItemHolder
}
val color = colors[position]
viewHolder.title.text = color.name
viewHolder.color.background.setColorFilter(
android.graphics.Color.parseColor("#" + color.value),
PorterDuff.Mode.ADD
)
return view
}
override fun getItem(position: Int): Color? {
return colors[position]
}
override fun getItemId(position: Int): Long {
return 0
}
override fun getCount(): Int {
return colors.size
}
private class ItemHolder(row: View?) {
val title: TextView = row?.findViewById(R.id.item_drop_down_title) as TextView
val color: ImageView = row?.findViewById(R.id.item_drop_down_color) as ImageView
}
}package com.example.myapplication
import android.app.Dialog
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Spinner
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
val dialog = Dialog(this)
dialog.setContentView(R.layout.dialog_spinner)
dialog.setCanceledOnTouchOutside(false)
val spinner: Spinner = dialog.findViewById(R.id.spinner)
val colors = ArrayList<Color>()
val sampleColorData = SampleColorData.get()
val keySet = sampleColorData.keys
for (key in keySet) {
val value = sampleColorData[key]
colors.add(Color(key, value))
}
val spinnerAdapter = SpinnerAdvanceAdapter(this, colors)
spinner.adapter = spinnerAdapter
dialog.show()
}
}
}
package com.example.myapplication
class SampleColorData {
companion object {
fun get(): LinkedHashMap<String, String> {
val data = LinkedHashMap<String, String>()
data["آبی"] = "0000FF"
data["سبز"] = "00FF00"
data["قرمز"] = "FF0000"
return data
}
}
}
