[Extensions] Add trigger extension instead of using performClick on checkboxes.

This commit is contained in:
Kacper Ziubryniewicz 2020-01-05 23:42:35 +01:00
parent 1e6952c86a
commit 31a293c5c0
2 changed files with 7 additions and 7 deletions

View File

@ -23,6 +23,7 @@ import android.util.LongSparseArray
import android.util.SparseArray
import android.util.TypedValue
import android.view.View
import android.widget.CheckBox
import android.widget.CompoundButton
import android.widget.TextView
import androidx.annotation.*
@ -506,7 +507,7 @@ fun CharSequence.asSpannable(vararg spans: Any, substring: String? = null, ignor
spans.forEach {
spannable.setSpan(it, index, index + substring.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
}
index = indexOf(substring, startIndex = index + 1, ignoreCase = ignoreCase);
index = indexOf(substring, startIndex = index + 1, ignoreCase = ignoreCase)
}
}
return spannable
@ -841,7 +842,7 @@ fun Int.toColorStateList(): ColorStateList {
this
)
return ColorStateList(states, colors);
return ColorStateList(states, colors)
}
fun SpannableStringBuilder.appendText(text: CharSequence): SpannableStringBuilder {
@ -888,3 +889,5 @@ fun String.base64Decode(): ByteArray {
fun String.base64DecodeToString(): String {
return Base64.decode(this, Base64.DEFAULT).toString(Charset.defaultCharset())
}
fun CheckBox.trigger() { isChecked = !isChecked }

View File

@ -9,13 +9,10 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import pl.szczodrzynski.edziennik.App
import pl.szczodrzynski.edziennik.R
import pl.szczodrzynski.edziennik.*
import pl.szczodrzynski.edziennik.data.api.*
import pl.szczodrzynski.edziennik.data.db.modules.profiles.Profile
import pl.szczodrzynski.edziennik.databinding.RowLoginProfileListItemBinding
import pl.szczodrzynski.edziennik.joinNotNullStrings
import pl.szczodrzynski.edziennik.onClick
class LoginSummaryProfileAdapter(
val context: Context,
@ -68,7 +65,7 @@ class LoginSummaryProfileAdapter(
)
b.root.onClick {
b.checkBox.performClick()
b.checkBox.trigger()
}
b.checkBox.setOnCheckedChangeListener { _, isChecked ->
item.isSelected = isChecked