Установить свойство представления (setText & setOnClickListener) для onViewCreated фрагмента, не работающего при использовании kotlin синтетического
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() }
}