Установить свойство представления (setText & setOnClickListener) для onViewCreated фрагмента, не работающего при использовании kotlin синтетического - PullRequest
0 голосов
/ 09 мая 2018

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() }
}

пользовательский интерфейс

контрольная точка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...