0

当值存在时,TextView 不会显示文本。此操作在片段内部的 onViewCreated 中调用。在同样的情况下, OnClickListener 也不起作用。我搜索了类似的问题,但没有找到完全相同的案例。我错过了什么?感谢您的任何帮助。

import kotlinx.android.synthetic.main.fragment_login.*
---

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                      savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_login, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    val isLogin = activity?.let { PrefHelper.getBoolean(it, PrefHelper.IS_LOGIN, false) }
    if (isLogin != null && isLogin) {
        onSignedIn()
    } else {
        onSignedOut()
    }
}

private fun onSignedIn() {
    form_login.visibility = View.GONE
    user_profile.visibility = View.VISIBLE

    var sEmail = ""
    var sFullName = ""
    var sPhone = ""
    if (activity != null) {
        PrefHelper.putBoolean(activity!!, PrefHelper.IS_LOGIN, true)
        sEmail = PrefHelper.getString(activity!!, PrefHelper.USER_EMAIL, "")
        sFullName = PrefHelper.getString(activity!!, PrefHelper.USER_FULL_NAME, "")
        val sPhonePrefix = PrefHelper.getString(activity!!, PrefHelper.USER_PHONE_PREFIX, "")
        val sPhoneSuffix = PrefHelper.getString(activity!!, PrefHelper.USER_PHONE_SUFFIX, "")
        sPhone = "$sPhonePrefix $sPhoneSuffix"
    }

    user_email.text = sEmail
    user_full_name.text = sFullName
    user_phone.text = sPhone

    logout.setOnClickListener { onSignedOut() }
}

用户界面

断点

4

0 回答 0