From bee6017ea0d6d87e8d52955b358b5cfb7461038c Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 13 Jun 2022 17:24:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E4=B8=BB=E5=8A=A8?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=C2=B7=E6=9C=8D=E5=8A=A1=E7=AB=AF=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E6=9B=B4=E6=96=B0UI=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sms/forwarder/fragment/ServerFragment.kt | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/ServerFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/ServerFragment.kt index 68f4ec91..184713a0 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/ServerFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/ServerFragment.kt @@ -1,6 +1,8 @@ package com.idormy.sms.forwarder.fragment import android.content.Intent +import android.os.Handler +import android.os.Looper import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater @@ -35,6 +37,15 @@ class ServerFragment : BaseFragment(), View.OnClickListe private var appContext: App? = null private var inetAddress: InetAddress? = null + //定时更新界面 + private val handler: Handler = Handler(Looper.getMainLooper()) + private val runnable: Runnable = object : Runnable { + override fun run() { + handler.postDelayed(this, 1000) //每隔1秒刷新一次 + refreshButtonText() + } + } + override fun initViews() { appContext = requireActivity().application as App } @@ -56,22 +67,13 @@ class ServerFragment : BaseFragment(), View.OnClickListe binding!!.tvServerTips.setOnClickListener(this) binding!!.ivCopy.setOnClickListener(this) binding!!.toggleServerBtn.setOnClickListener(this) - //Refresh Button every sec - Thread { - try { - while (true) { - Thread.sleep(1000) - requireActivity().runOnUiThread { refreshButtonText() } - } - } catch (ex: Exception) { - ex.printStackTrace() - } - }.start() binding!!.scbServerAutorun.isChecked = HttpServerUtils.enableServerAutorun binding!!.scbServerAutorun.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean -> HttpServerUtils.enableServerAutorun = isChecked } + //启动更新UI定时器 + handler.post(runnable) binding!!.btnSignKey.setOnClickListener(this) binding!!.etSignKey.setText(HttpServerUtils.serverSignKey) @@ -268,4 +270,11 @@ class ServerFragment : BaseFragment(), View.OnClickListe } }) } + + override fun onDestroy() { + super.onDestroy() + //取消定时器 + handler.removeCallbacks(runnable) + } + } \ No newline at end of file