当值存在时,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() }
}