Manage placeholder for bottom sheet edittext

dev
Aurelien Hubert 7 years ago
parent c10d4d749f
commit 5d02ab8872
  1. 18
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt
  2. 9
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
  3. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt

@ -27,7 +27,6 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
if (isEditingBlinds) { if (isEditingBlinds) {
editText2.requestFocus() editText2.requestFocus()
} else { } else {
@ -43,6 +42,7 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
valueHasPlaceholder = true
isEditingBlinds = row == SessionRow.BLINDS isEditingBlinds = row == SessionRow.BLINDS
} }
@ -64,17 +64,23 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
values[0] = (data[0].defaultValue ?: "").toString() values[0] = (data[0].defaultValue ?: "").toString()
values[1] = (data[1].defaultValue ?: "").toString() values[1] = (data[1].defaultValue ?: "").toString()
editText1.setText(values[0])
editText2.setText(values[1])
data[0].hint?.let { editText1.hint = getString(it) } data[0].hint?.let { editText1.hint = getString(it) }
editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
data[1].hint?.let { editText2.hint = getString(it) }
editText2.inputType = data[1].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
if (valueHasPlaceholder) {
editText1.hint = values[0]
editText2.hint = values[1]
} else {
editText1.setText(values[0])
editText2.setText(values[1])
}
editText1.addTextChangedListener { editText1.addTextChangedListener {
values[0] = it?.toString() ?: "" values[0] = it?.toString() ?: ""
} }
data[1].hint?.let { editText2.hint = getString(it) }
editText2.inputType = data[1].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
editText2.addTextChangedListener { editText2.addTextChangedListener {
values[1] = it?.toString() ?: "" values[1] = it?.toString() ?: ""
if (isEditingBlinds) { if (isEditingBlinds) {

@ -43,12 +43,14 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
valueHasPlaceholder = true
} }
/** /**
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found") val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (data.size != 1) { if (data.size != 1) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
@ -62,7 +64,12 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
this.value = it?.toString() this.value = it?.toString()
} }
data[0].defaultValue?.let { data[0].defaultValue?.let {
editText1.setText(it.toString()) if (valueHasPlaceholder) {
this.value = it.toString()
editText1.hint = it.toString()
} else {
editText1.setText(it.toString())
}
} }
editText1.setOnEditorActionListener { _, actionId, _ -> editText1.setOnEditorActionListener { _, actionId, _ ->

@ -30,6 +30,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
lateinit var row: RowRepresentable lateinit var row: RowRepresentable
lateinit var delegate: RowRepresentableDelegate lateinit var delegate: RowRepresentableDelegate
var currentCurrency: Currency? = null var currentCurrency: Currency? = null
var valueHasPlaceholder: Boolean = false
private var isClearable: Boolean = true private var isClearable: Boolean = true
private var isDeletable: Boolean = false private var isDeletable: Boolean = false
@ -46,7 +47,8 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>?, rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>?,
isClearable: Boolean? = true, isClearable: Boolean? = true,
currentCurrency: Currency? = null, currentCurrency: Currency? = null,
isDeletable: Boolean? = false isDeletable: Boolean? = false,
valueHasPlaceholder: Boolean? = false
): BottomSheetFragment { ): BottomSheetFragment {
val bottomSheetFragment = row.bottomSheetType.newInstance() val bottomSheetFragment = row.bottomSheetType.newInstance()
bottomSheetFragment.show(fragmentManager, "bottomSheet") bottomSheetFragment.show(fragmentManager, "bottomSheet")
@ -55,6 +57,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
bottomSheetFragment.rowRepresentableEditDescriptors = rowRepresentableEditDescriptors bottomSheetFragment.rowRepresentableEditDescriptors = rowRepresentableEditDescriptors
bottomSheetFragment.isClearable = isClearable ?: true bottomSheetFragment.isClearable = isClearable ?: true
bottomSheetFragment.isDeletable = isDeletable ?: true bottomSheetFragment.isDeletable = isDeletable ?: true
bottomSheetFragment.valueHasPlaceholder = valueHasPlaceholder ?: true
bottomSheetFragment.currentCurrency = currentCurrency bottomSheetFragment.currentCurrency = currentCurrency
return bottomSheetFragment return bottomSheetFragment
} }

Loading…
Cancel
Save