为啥我的失败吐司在android kotlin中不断出现

Posted

技术标签:

【中文标题】为啥我的失败吐司在android kotlin中不断出现【英文标题】:why my failure toast appears continuously in androi kotlin为什么我的失败吐司在android kotlin中不断出现 【发布时间】:2022-01-18 17:07:53 【问题描述】:

我不知道如何让我的失败 toast 消息只显示一次。

Toast.makeText(this, vm.logInResult.value, Toast.LENGTH_SHORT).show()

private fun addData(edtTxt: String, pasTxt: String) 
    val repository = UserRepository()
    val viewModelFactory = UserViewModelFactory(repository)
    viewModel = ViewModelProvider(this, viewModelFactory).get(UserViewModel::class.java)
    viewModel.pushUser(edtTxt, pasTxt)
    viewModel.userPush.observe(this, Observer  response ->
        if (response.isSuccessful) 
            dismissLogoProgressDialog()
            Log.d("MainResponse", response.body().toString())
            Log.d("MainExecute", response.code().toString())
            Log.d("Main", response.message())
            val check = response.body()
            Log.d("checkdata", "" + check?.userinfo?.email)
            val tokn: String = check!!.token
            if (sharedPreference.getValueString("token") != null) 
                sharedPreference.clearSharedPreference()
            
            sharedPreference.save("token", tokn)
            sharedPreference.save("login_uid", check.userinfo.uid)
            sharedPreference.save("change_pass", pasTxt)
            println(check)
            startActivity(Intent(this, DashboardActivity::class.java))
            finish()

         else 
            dismissLogoProgressDialog()
            Toast.makeText(this, "Password mismatch", Toast.LENGTH_SHORT).show()
        
    )

【问题讨论】:

您能否更新您的问题并显示此函数的调用位置? 请检查是否已更新 【参考方案1】:

你确定你只调用这个Toast 一次吗?或者这是在循环中创建的Toast?在这种情况下;你需要先跳出循环。

【讨论】:

循环创建【参考方案2】:

该函数可能已放置在循环中,并且可能始终采用 else 子句。

日志函数是否向控制台打印任何内容?

您是否可以编辑问题并向我们展示此函数的调用位置?

【讨论】:

以上是关于为啥我的失败吐司在android kotlin中不断出现的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 FileProvider 在 android studio 中不起作用

SearchView 在 Android 中不起作用。为啥这样?

为啥 logcat 在我的 Android 中不显示任何内容?

Kotlin 类的 Android 单元测试因“找不到符号类...”而失败

为啥我的自定义 Google 地图图标在 PC 浏览器中显示,但在 Android 浏览器中不显示?

为啥在 Android 的 Geoloqi API 中不调用 onPushMessageReceived()?