Skip to content

Instantly share code, notes, and snippets.

@emrekose26
Created March 3, 2020 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emrekose26/8eeb86ff83aa50c6aaa8c732e85bf697 to your computer and use it in GitHub Desktop.
Save emrekose26/8eeb86ff83aa50c6aaa8c732e85bf697 to your computer and use it in GitHub Desktop.
Android spinner hint value
val spinnerAdapter = PenaltyReasonSpinnerAdapter(this, penaltyReasonsList!!)
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
penaltyReasonSpinner.adapter = spinnerAdapter
penaltyReasonSpinner.onItemSelectedListener = this
....
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
// ilk eleman "lütfen seçiniz" şeklinde olduğu için 0. indexi pass geçtik
if (position > 0) {
Log.e("REASON", penaltyTypesList?.get(position)?.penalty_id.toString())
}
}
....
// Spinnerda seçim yapmadan "lütfen seçiniz" seçeneği getirmek için bu eleman eklendi
penaltyReasonsList?.add(getString(R.string.select_penalty_reason))
class PenaltyReasonSpinnerAdapter(context: Context, list: List<String>) :
ArrayAdapter<String>(context, android.R.layout.simple_spinner_item, list) {
override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup): View {
val view = super.getDropDownView(position, convertView, parent)
val tv = view as TextView
if (position === 0) {
// Set the hint text color gray
tv.setTextColor(Color.GRAY)
} else {
tv.setTextColor(Color.BLACK)
}
return view
}
override fun isEnabled(position: Int): Boolean {
return when(position) {
0 -> false
else -> true
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment