사용자가 아직 로그인하지 않은 경우 사용자가 Firebase로 로그인하게하는 앱이 있습니다. 사용자 프로필 정보가 올바르게 표시되는 경우. 앱을 닫고 사용자 이름과 이메일을 다시 열면 설정되지 않고 기본 텍스트로 이동합니다. 하지만 로그 아웃하면 다시 표시됩니다. 나는 ui를 업데이트하는 것과 관련이 있지만 붙어있는 것처럼 느낍니다.Android Kotlin : TextView.text가 예상대로 작동하지 않습니다.
이 MainActivity에서와 관계있는 코드가
코드
갱신 그래서 그들에게 허용하는 경우 사용자가 로그인하면 내가 확인 곳이 필요하다면 내 점심 시간이 끝난 후 나는 코드를 게시 할 수 있습니다 로그인 활동을 시작하지 않으려면 거기에서 가야합니다.
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { val TAG = "MainActivity" var mAuth: FirebaseAuth? = null var mUser: FirebaseUser? = null var userEmailTV: TextView? = null var userDispNameTV: TextView? = null val RC_SIGN_IN = 123 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) val toggle = ActionBarDrawerToggle( this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) drawer_layout.addDrawerListener(toggle) toggle.syncState() nav_view.setNavigationItemSelectedListener(this) } override fun onStart() { super.onStart() mAuth = FirebaseAuth.getInstance() mUser = mAuth?.currentUser if (mUser != null) { userEmailTV = findViewById<View>(R.id.userEmail) as TextView? userEmailTV?.text = mUser?.email userDispNameTV = findViewById<View>(R.id.userName) as TextView? userDispNameTV?.text = mUser?.displayName Log.i(TAG, "User Display Name : ${mUser?.displayName}") Log.i(TAG, "Users Email : ${mUser?.email}") } else { startActivityForResult( // Get an instance of AuthUI based on the default app AuthUI.getInstance().createSignInIntentBuilder().build(), RC_SIGN_IN) } }
이
은<TextView
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:text="Username"/>
<TextView
android:id="@+id/userEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="[email protected]"/>
이
코드를 게시하십시오. –
K는 내가 점심을 먹은 후에 할 수 있다고 말했다. 하지만 그때까지 어떤 생각을 왜 logcat에서 올바른 정보를 표시하지만 사용자가 애플 리케이션을 열고 나서 서명하지 않으면 UI에 표시되지 않습니다? LogGcat에 UI에 표시해야하는 것처럼 느껴집니다. – Vahalaru
값을 변경하는 코드에 뭔가가 있어야합니다. 그래서 코드를 게시 해 보겠습니다. –