diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SettingsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SettingsFragment.kt index d39db700..54fcf7cb 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SettingsFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/action/SettingsFragment.kt @@ -3,9 +3,7 @@ package com.idormy.sms.forwarder.fragment.action import android.annotation.SuppressLint import android.content.Intent import android.location.Criteria -import android.text.Editable import android.text.TextUtils -import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -273,31 +271,25 @@ class SettingsFragment : BaseFragment(), Vi } } //设置位置更新最小时间间隔(单位:毫秒); 默认间隔:10000毫秒,最小间隔:1000毫秒 - binding!!.etMinInterval.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable) { - val changedText = s.toString() - if (changedText.isEmpty() || changedText == "0") { + binding!!.etMinInterval.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { + val inputText = binding!!.etMinInterval.text.toString() + if (inputText.isEmpty() || inputText == "0") { binding!!.etMinInterval.setText("1") binding!!.etMinInterval.setSelection(binding!!.etMinInterval.text.length) // 将光标移至文本末尾 - return } } - }) + } //设置位置更新最小距离(单位:米);默认距离:0米 - binding!!.etMinDistance.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable) { - val changedText = s.toString() - if (changedText.isEmpty()) { + binding!!.etMinDistance.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { + val inputText = binding!!.etMinDistance.text.toString() + if (inputText.isEmpty()) { binding!!.etMinDistance.setText("0") - binding!!.etMinDistance.setSelection(binding!!.etMinInterval.text.length) // 将光标移至文本末尾 - return + binding!!.etMinDistance.setSelection(binding!!.etMinDistance.text.length) // 将光标移至文本末尾 } } - }) + } binding!!.sbEnableSmsCommand.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean -> if (isChecked) { diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt index 2efca2b7..48d2117f 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/LeaveAddressFragment.kt @@ -2,8 +2,6 @@ package com.idormy.sms.forwarder.fragment.condition import android.annotation.SuppressLint import android.content.Intent -import android.text.Editable -import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -99,13 +97,11 @@ class LeaveAddressFragment : BaseFragment + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etLongitude.text.toString() + if (inputText.isEmpty()) { binding!!.etLongitude.setText("0") binding!!.etLongitude.setSelection(binding!!.etLongitude.text.length) // 将光标移至文本末尾 } else { @@ -113,17 +109,15 @@ class LeaveAddressFragment : BaseFragment + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etLatitude.text.toString() + if (inputText.isEmpty()) { binding!!.etLatitude.setText("0") binding!!.etLatitude.setSelection(binding!!.etLatitude.text.length) // 将光标移至文本末尾 } else { @@ -131,17 +125,15 @@ class LeaveAddressFragment : BaseFragment + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etDistance.text.toString() + if (inputText.isEmpty()) { binding!!.etDistance.setText("1") binding!!.etDistance.setSelection(binding!!.etDistance.text.length) // 将光标移至文本末尾 } else { @@ -149,22 +141,20 @@ class LeaveAddressFragment : BaseFragment + if (!hasFocus) { try { checkSetting(true) } catch (e: Exception) { e.printStackTrace() - Log.e(TAG, "afterTextChanged error:$e") + Log.e(TAG, "etAddress error:$e") } } - }) + } } @SingleClick diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt index f7ab1787..0991a094 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/condition/ToAddressFragment.kt @@ -2,8 +2,6 @@ package com.idormy.sms.forwarder.fragment.condition import android.annotation.SuppressLint import android.content.Intent -import android.text.Editable -import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -99,13 +97,11 @@ class ToAddressFragment : BaseFragment( binding!!.btnDel.setOnClickListener(this) binding!!.btnSave.setOnClickListener(this) binding!!.btnCurrentCoordinates.setOnClickListener(this) - binding!!.etLongitude.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable?) { + binding!!.etLongitude.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etLongitude.text.toString() + if (inputText.isEmpty()) { binding!!.etLongitude.setText("0") binding!!.etLongitude.setSelection(binding!!.etLongitude.text.length) // 将光标移至文本末尾 } else { @@ -113,17 +109,15 @@ class ToAddressFragment : BaseFragment( } } catch (e: Exception) { e.printStackTrace() - Log.e(TAG, "afterTextChanged error:$e") + Log.e(TAG, "etLongitude error:$e") } } - }) - binding!!.etLatitude.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable?) { + } + binding!!.etLatitude.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etLatitude.text.toString() + if (inputText.isEmpty()) { binding!!.etLatitude.setText("0") binding!!.etLatitude.setSelection(binding!!.etLatitude.text.length) // 将光标移至文本末尾 } else { @@ -131,17 +125,15 @@ class ToAddressFragment : BaseFragment( } } catch (e: Exception) { e.printStackTrace() - Log.e(TAG, "afterTextChanged error:$e") + Log.e(TAG, "etLatitude error:$e") } } - }) - binding!!.etDistance.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable?) { + } + binding!!.etDistance.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { try { - val changedText = s.toString() - if (changedText.isEmpty()) { + val inputText = binding!!.etDistance.text.toString() + if (inputText.isEmpty()) { binding!!.etDistance.setText("1") binding!!.etDistance.setSelection(binding!!.etDistance.text.length) // 将光标移至文本末尾 } else { @@ -149,22 +141,20 @@ class ToAddressFragment : BaseFragment( } } catch (e: Exception) { e.printStackTrace() - Log.e(TAG, "afterTextChanged error:$e") + Log.e(TAG, "etDistance error:$e") } } - }) - binding!!.etAddress.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable?) { + } + binding!!.etAddress.setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { try { checkSetting(true) } catch (e: Exception) { e.printStackTrace() - Log.e(TAG, "afterTextChanged error:$e") + Log.e(TAG, "etAddress error:$e") } } - }) + } } @SingleClick